目标结构如下所示:
検索結果:100,000件
如果我使用以下regex模式:
((?<!検索結果:)(?<!次の)(((〇|一|二|三|四|五|六|七|八|九|十|百|千|万|億|兆|京+|[0-90-9]))(,|,|、)?).+((〇|一|二|三|四|五|六|七|八|九|十|百|千|万|億|兆|京|[0-90-9]).+)件)(?!表示)正如您所看到的,我想不匹配所有前面的“検索結果:”&“次の”,使用这个模式,后面跟着阿拉伯数字或日本汉字(汉字)数字。然而,该模式在某种程度上与4位数匹配,但不匹配6位数。
换句话说,
次の1000件
有效(意思是它与任何东西都不匹配),但是
次の5000件
提供部分匹配(“0000件”)
我想知道为什么不超过4位数。最终想要找到一种方法来不匹配任何使用这个正则表达式的东西。我知道这案子有点乱。谢谢您的反馈!
发布于 2019-01-16 10:02:00
您需要避免在数字或数字+分隔符后面匹配数字,因此需要在(?<![0-90-9])(?<![0-90-9][,,、])后面添加(?<!次の)。
(?<!検索結果:)(?<!次の)(?<![0-90-9])(?<![0-90-9][,,、])(?:[〇一二三四五六七八九十百千万億兆0-90-9]|京+)[,,、]?.+[〇一二三四五六七八九十百千万億兆京0-90-9].+件
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^见regex演示。
发布于 2019-02-07 03:00:49
到目前为止,我看到了一个问题:
販売実績100万件販売実績100万件販売実績1,000件販売実績1,000,000件です100,000件5000件
这些都是匹配的,但它捕获了两个匹配模式之间的无关部分。例如,
販売実績100万件販売実績100万件
因为一个字符串将匹配不应该匹配的部分。
https://stackoverflow.com/questions/54194230
复制相似问题