我有以下正则表达式,需要了解清理它/简化:
^\\\\server01\\c\$|ckpt|ect|fin_2\$/gim
我正在尝试匹配下面的多行:
匹配任何包含c $变体的行(所以\\server01\c$\anything
)
OR
匹配包含ckpt
,ect
或fin_2$
在任何这些匹配之前或之后可能会有字符,例如_ect
。
非常感谢任何和所有帮助。 TIA
答案 0 :(得分:0)
如果您只是想检查给定的行是否包含c$
,ckpt
,ect
或fin_2$
,您只需使用此正则表达式:
^.*(?:c\$|ckpt|ect|fin_2\$).*$
说明:
^
- 从行首开始检查锚点.*
- 匹配任意数量的任何字符(0或更多)UNTIL ... (?: ... )
- 是一个非捕获组。我们不希望提取此组中的匹配,但希望将OR(#{1}})仅限于大括号内|
- 匹配c\$|ckpt|ect|fin_2\$
或c$
或ckpt
或ect
。请注意,文字fin_2$
字符需要由$
转义,因为它也有其他用途(见下文)。 \
- 与上述相同,匹配任意数量的任何字符UNTIL ... .*
- 行的结尾(如果禁用了多行标志,则为字符串的结尾)在包含多行的文件中查找所有匹配项的必需标志:
$
- 全球 - 在首场比赛后没有回复(找到所有比赛)g
- 多行 - m
适用于换行字符以及字符串/文件的结尾由于您的问题不包含任何编程语言,我的答案仅限于为您提供可以试用的正则表达式。但是,与设置标志(和/或转义某些字符)相关的所有内容都在您的身边。