我真的对正则表达式不好,我正在尝试执行以下操作:
如何获取所有以%%
结尾的字符串。
如果这些单词出现在字符串中,我希望能够抓住它们:%%HELLO_WOLD%%
,%%STUFF%%
到目前为止,我的想法是:%%[a-zA-Z0-9]\w+
答案 0 :(得分:1)
您可以使用锚点来声明行的开头^
和结尾$
,并与任何字符.*
匹配零次或多次,或者如果您的字符必须至少有一个可能会使用.+
或者代替.*
,您可以添加将匹配大小写字符和数字的字符类[a-zA-Z0-9]+
,或使用将匹配word character的\w+
。 / p>
请注意,字符类[a-zA-Z0-9]
与下划线不匹配,而\w
与下划线不匹配。
如果要在一个字符串中找到多个匹配项,则可以使用%%\w+%%
。这也将与%%HELLO_WOLD%%
中的%%%%%HELLO_WOLD%%%
相匹配。
如果在开头和结尾处仅应有2个百分号,则可以使用正向前进(?=
和正向后退(?<=
断言这2个百分号之前和之后是什么不是百分号,也不是字符串的开头^
或结尾$
。