Я пытаюсь соответствовать следующие пункты в квадратных скобках:Соответствующие элементы в документе
[O!BOM031][O!BOM016][O!BOM037]
Моя некрасиво регулярное выражение, как это:
[A-Z!\d\[\]]+
Это похоже на работу. Однако я не знаю, как сопоставить эти элементы, когда они находятся внутри документа с другим текстом вокруг них.
Пример:
Rogue's Best Friend [O!BOM030] This wide belt...(text)
Little Friend Locket [O!BOM031]...(text)
я нашел то, что работает, но которую я знаю, что это совершенно неправильно:
([A-Z!\d\[])+\d]
По какой-то причине, я могу соответствовать только в этой строке: [O!BOM031][O!BOM016][O!BOM037]
. Как указать, что я хочу только совместить эти элементы в выражении регулярного выражения и ничего больше в документе?
Он уверен, работает. Итак, \ [и \] с \ заключает выражение (что означает, что все остальное снаружи игнорируется)? Как насчет этих двух;^$. Разве это не означает «начало регулярного выражения»/«Конец регулярного выражения» (например, «буквально»)? Или, возможно, это совершенно другое? – ene
'' '' '' '' '' буквально. Квадратные скобки являются наборами символов в регулярном выражении. Это означает, что все, что у вас есть, это то, что будет искать регулярное выражение. Например, '[asdf]' будет соответствовать любым из 'a',' s', 'd' или' f'. Также отменен набор '[^ asdf]', что означает соответствие любому, кроме того, что указано в наборе. '^' само по себе означает начало строки, а '$' означает конец строки. Значение '^' и '$' может изменяться в зависимости от указанных вами флагов. Я предполагаю, что это JavaScript. В JS, если вы задаете многострочный флаг 'm', то'^'и' $ 'соответствует по строке вместо строки. Надеюсь, это поможет. – timolawl
Ах удаляет мои комментарии. Я использовал \ перед '[' и ']', потому что мы хотим, чтобы эти символы соответствовали буквально. Это называется экранирование символов. Причина, почему мы делаем это, состоит в том, что эти символы имеют особое значение в регулярном выражении. – timolawl