这是我的领地
\d+%[^\.][^0-9]*?((?!original).)percentage*我希望它从一个百分比(即10%)到单词百分比
除非其中含有“原始”一词:
所以,在“百分比”这个词之前,“任何”都可以是任何东西,除非他的单词是“原始的”。
我已经得到了我的正则表达式,但只有当“百分比”在新行的要领时才能正确工作
在某些情况下,10%的销售开始于原始百分比->我的正则表达式与这个字符串匹配,但我不想这样做,因为它包含单词“原始”-- 10%的销售以一定百分比开始->我的正则表达式与这个字符串匹配,因为它不包含“原始”一词--原始字符串的10% 销售额的百分比更高-->我的regex与这个字符串不匹配,这是可以的,因为它包含了“原始”这个词(也许是因为新行以百分比开头?)原售的10% 的百分比->我的正则表达式与这个字符串匹配,但我不想这么做,因为它包含了“原始”这个词。
对不起,如果我的解释有点奇怪,英语不是我的第一语言。
谢谢!
发布于 2021-02-06 11:11:44
您必须重复这个部分((?!original).),并在percentage*之后省略*,因为它可以选择性地重复e字符。
然后,如果不想在中间匹配数字,则可以使用[^\d\r\n]而不是.匹配除换行符或数字以外的任何字符。
\d+%[^.](?:(?!original\b)[^\d\r\n])*\bpercentage\b模式匹配:
\d+%匹配1+数字和%[^.]匹配除点以外的任何字符(请注意,这是一个宽匹配,您也可以使用空格)(?:非捕获群(?!original\b)[^\d\r\n]匹配除数字或换行符以外的任何字符,当wat直接在右边不是original时)*关闭组并重复0+次\bpercentage\b匹配percentagehttps://stackoverflow.com/questions/66076108
复制相似问题