我正在尝试使用别名来设置将相对路径更改为绝对的正则表达式,并忽略任何已使用@符号指示别名的行以防止文件夹/文件名匹配。我有替换和匹配,但我不能用@位做忽略行。我还希望它在选择时匹配/ foldername / forward斜杠。
https://regex101.com/r/vRUegE/1/
我原以为@的行会被忽略
感谢Wiktor,这是正确的回复:
使用WinGrep和这些正则表达式的组合,很容易在几分钟内重构数百个文件中的数百个路径!
答案 0 :(得分:1)
您可以在积极的观察后添加negative lookahead (?!@)
:
(?<=from..)(?!@)(.*)(?=module)(.*)(module)
^^^^^
见this regex demo。 (?!@)
在@
之后找到from
并且在其右边立即显示任何2个字符时,(?=module)
将失败。
请注意,正则表达式可能需要进一步调整,因为newCommandTimeout
在这里没有多大意义。您也可以使用(?<=from..)(?!@)(.*)(module)
。
答案 1 :(得分:1)
很难说你用哪种语言,似乎java,regexp对于不同的语言有点不同。
(?<=from..)(.*)(?=module)(.*(module)/g
这里你引用(。*) - e.q.任何重复的字符,你需要改为
([^\@]*) ( or ([^@]*) )
如参见。任何非@ char