所以我有regex表达式,它只找到偶数的转义字符和星号:(\\\\)+([*])。问题是,它没有选择第一个星号,它选择所有行(我需要regex尝试在一行中“计数”所有转义字符,选择有偶数转义字符的行,并将星号替换为百分比字符。
为了清晰起见,我将添加一张照片,展示我正在努力实现的任务。https://postimg.org/image/b51v5qhkz/
发布于 2016-09-12 13:33:53
我建议在字符串的开头用^锚定匹配,然后匹配除\以外的任何符号,然后匹配零或多个双\序列,将所有这些序列捕获到一个组中,直到星号。
^([^\\]*(?:\\\\)*)\*请参阅regex演示 (注意,为演示目的添加了演示中的\n,因为输入是一个多行字符串。如果您有单独的字符串要处理,则不需要在\n中处理[^\\])。
细目
^ -字符串的开始([^\\]*(?:\\\\)*) -第1组捕获[^\\]* - 0+字符( \除外)(?:\\\\)* - 0+序列的\\
\* -文字星号。替换为$1%,其中$1反向引用检索组1捕获的文本。
https://stackoverflow.com/questions/39451446
复制相似问题