Regex表达式包含额外的字符
本文关键字:字符 包含额 表达式 Regex | 更新日期: 2023-09-27 18:00:12
希望这真的是一个简单的问题,但我有下面的数据串:
*frac {7frac {1} {2} + 8} {frac {3} {4} +3} = 4
想要返回以下
frac {1} {2}
frac {3} {4}
但我得到了以下信息:
7frac {1} {2}
{frac {3} {4}
到目前为止,我得到的表达式是:
[^''*]frac's{(.*?)}'s*{(.*?)}
如何删除多余的起始字符?
干杯
看起来您正试图使用[^''*]
来排除潜在匹配以"*"为前缀的匹配。它起作用,但它在匹配中包含前缀。您可以使用负查找((?<!'*)
)来完成同样的事情,而不在匹配中包含前缀。
(?<![*''])frac's{(.*?)}'s*{(.*?)}
最简单的方法是不在表达式的开头包含多余的位。你真的需要字符串的开头吗?在我看来不像。所以只需使用:frac's{(.*?)}'s*{(.*?)}
您只需移除第一个[^''*]
。表达式应仅为:
frac's{(.*?)}'s*{(.*?)}