好的,所以我现在有:
/(#([\"]))/g;
我希望能够检查如下字符串:
#23ad23"
我的正则表达式出了什么问题?
答案 0 :(得分:2)
你的正则表达式(/(#([\"]))/g
)如下所示:
没有开始/结束分隔符/标记和捕获大括号..
#[\"]
这意味着#
,后跟"
,但是类的方括号是不必要的,因为只有一个项目,因此相当于......
#"
我认为您希望匹配#
和"
之间的所有字符(并且仅限捕获)。
从这样的正则表达式开始:
#.+?"
这意味着#
后跟任何内容(.
)一次或多次(+
)非贪婪(?
)后跟"
所以使用捕获括号和分隔符......
/(#(.+?)")/g
答案 1 :(得分:1)
这是你的意思吗?
/(#([^\"]+))/g;
这将包括所有内容,直到它到达"
字符。
答案 2 :(得分:1)
最小匹配数(较大长度匹配):#(.+)\"
最大匹配数(较小长度匹配):#(.+?)\"