繁体   English   中英

为什么此正则表达式无法在字符串中找到匹配的模式?

[英]Why does this regex fail to find matching pattern in string?

我有一个文件,其中包含类似于以下示例的内容:

?[A7]DA<DA-SG
'[G7]G%SD\$DF
#[27]F:./4FFF
?[P9]W3_2SS_F
'[90]GA\\WTER

每行以\\r\\n结尾。

从这个特定的文件,我需要更换F:./4FFF部分线路#[27]F:./4FFF

到目前为止,我已经有了这种模式,以便尝试捕获需要替换的部分:

\#\[27\]([\w\W]*)\r\n

问题在于,在]\\r\\n ,可以是任何字母数字字符或符号。

我认为问题出在捕获小组??? 正确的模式是什么? 我将在VBA中进行此操作。

您可能正在尝试设计一个表达式,看起来有点像:

(?<=^#\[\d{2}\])\S*

演示1

也许只是:

^(#\[\d+\])\S*

演示2

将多行选项与此(regex.MULTILINE之类)一起使用

两种方法

^#\\[27\\](.*)

要么

^#\\[27\\]([^\\r\\n]*)

事实是\\r\\n不需要停止该行的比赛。
到最后没有匹配它们。
如果该行是文件中的最后一行,则这是有利的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM