正则表达式为字符串,\" 16个问题\",

时间:2017-08-14 23:31:29

标签: regex

我在正则表达式方面表现不佳,我花了很多时间弄清楚如何搜索以下模式:

,\"16 questions\",

这就是我构建的.\"[0-9,]+ questions\".
我想我很接近但不确定多少钱。有人可以纠正它。当数字超过1k时,数值可以包含逗号。例如2,500个问题。

2 个答案:

答案 0 :(得分:3)

,"\d{1,3}(,\d{3,3})*\squestions?",

说明:

  • \d{1,3} = 1~3个十进制数字
  • (,\d{3,3})* =逗号和3位小数,整个组重复0~N次
  • \s = whitespace
  • s? =字母s可能会丢失

这两部分可以准确识别可能的数字。

Test and visualization.

如果文本中的反斜杠是真正的反斜杠,那么包含它们的正则表达式将是

,\\"\d{1,3}(,\d{3,3})*\squestions?\\",

答案 1 :(得分:0)

这很有效。您没有指出数值是否可以包含多于1个逗号(例如1,000,000)

,\\"((\d{1,3})(,\d{3})*)\squestions?\\",