【问题标题】:Regex cannot match any character inside quotes正则表达式不能匹配引号内的任何字符
【发布时间】:2016-12-14 14:44:10
【问题描述】:

我似乎无法匹配以下正则表达式。我在匹配 {}

中的内容时遇到问题

正则表达式是:

\{([\s\w|'.,]*)},\s*(\p{L}+)(.*\*\d+)

要匹配的字符串是这样的:

value=subarray({'1*MyVar'}, EXCEL.x*48, 1)
value=subarray({'1/MyVar'}, EXCEL.x*48, 1)
value=subarray({'1--MyVar'}, EXCEL.x*48, 1)
value=subarray({'90000'}, EXCEL.x*48, 1)
value=subarray({'Holy Moly'}, EXCEL.x*48, 1)

https://regex101.com/r/frF0eC/3

前 3 个不匹配,但后 2 个匹配。知道如何让它们全部匹配吗?我必须明确匹配所有可能的字符,而不是使用 \w?

【问题讨论】:

  • 您的输入有各种特殊字符,例如\-,这些[\s\w|'.,] 未涵盖这些字符
  • 嗨 Pavneet,知道我会如何匹配它们吗?

标签: regex


【解决方案1】:

这涵盖了它

\{([\S| \|'.,]*)},\s*(\p{L}+)(.*\*\d+)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    • 2016-04-18
    • 2010-09-13
    • 2018-01-25
    • 1970-01-01
    相关资源
    最近更新 更多