匹配Word正则表达式

时间:2017-05-15 10:09:24

标签: regex

您好我想与正则表达式匹配这个词

(Parc Installé)

来自本文:

31/1/2017 17:19:23,4245986,ct0001@Intotel.int,Parc Installé,100.100.30.100

我做了这个正则表达式',[A-Za-zA-zÀ-ú+ \/\w+0-9._%+-]+,' 但结果是:4245986 ans Parc Installé

我怎样才能匹配ParcAninstall®

1 个答案:

答案 0 :(得分:1)

你可以尝试一个基于前瞻的正则表达式,它需要逗号和数字/逗号,直到字符串结尾:

[^,]+(?=\s*,[\d.]+$)

请参阅此regex demo

<强>详情:

  • [^,]+ - 除,
  • 以外的1个或多个字符
  • (?=\s*,[\d.]+$) - 前瞻性要求
    • \s* - 零个或多个空格
    • , - 逗号
    • [\d.]+ - 最多1位数或点数
    • $ - ...字符串的结尾

为了使其更具限制性,您可以用(?=\s*,\d+(?:\.\d+){3}$)替换前瞻,以要求4个以点分隔的1+位数序列。请参阅this regex demo

如果不支持前瞻(RE2引擎的情况),您可能希望使用基于捕获组的解决方案:

([^,]+)\s*,[\d.]+$

此处,(...)中的部分将被捕获到第1组中,并且可以通过反向引用或Google Spreasheets中的=REGEXEXTRACT等函数访问,该函数仅检索捕获组的内容(如果后者)存在于模式中。