Javascript RE仅匹配不以value=”开头的字符串;
我正在尝试编写一个正则表达式,以捕获一个不以字符串“Javascript RE仅匹配不以value=”开头的字符串;,javascript,regex,Javascript,Regex,我正在尝试编写一个正则表达式,以捕获一个不以字符串“value=“”开头的模式。已使用负外观头进行了测试,但未成功。不知道是否可以使用RE…欢迎提供任何帮助 表达式是^(?!value=“)([M|A|S|R]+\d+[M|S|A | R | A | b | c | d | e | f | x | d | S]+)\b M533x539S18520507x461S18528469x461S2e00c512x486S2e014467x487S2fc04492x528 谢谢您可以简化一下: ^
value=“
”开头的模式。已使用负外观头进行了测试,但未成功。不知道是否可以使用RE…欢迎提供任何帮助
表达式是^(?!value=“)([M|A|S|R]+\d+[M|S|A | R | A | b | c | d | e | f | x | d | S]+)\b
M533x539S18520507x461S18528469x461S2e00c512x486S2e014467x487S2fc04492x528
谢谢您可以简化一下:
^"[MASR]+[\d]+[MSAa-fx\d]+"
由于使用^
从字符串的开头开始,因此可以忽略以引号以外的值开头的字符串
如果要获取引号内的值,可以将该部分用括号括起来:
^"([MASR]+[\d]+[MSAa-fx\d]+)"
在你的问题更新后 如果您试图在不获取HTML属性中的值的情况下匹配HTML内容中的字符串,您可以简单地使用:
[\s|>]+([MASR]+[\d]+[MSAa-fx\d]+)
此正则表达式查找以结束符
或空格开头的匹配项,并返回第一个“组”中的字符串
如果您所处的JavaScript环境支持lookbehinds,您可以这样做:
(?<!value=")(?<=")([MASR]+[\d]+[MSAa-fx\d]+)(?=")
(?您可以使用负面查找,但它尚未得到广泛支持
(?<!value=")\b[MASR]+\d+[MSAabcdefx\d]+\b
您可以匹配value=“[^”]*”
模式并捕获另一个模式,然后只捕获捕获,value=“[^”]*”|\b([MASR]+\d+[MSARabcdefx\d\s]+)\b
。使用负回溯(?“…捕获模式”-哪种模式?您可以删除[\d]周围的方括号+
但问题是我不想获取值后面的值=“Strings由于您在问题中添加了HTML示例,因此答案将有所不同。对此表示抱歉..尝试simplify@RonnieFagundesdeBrito我添加了另一个简单的正则表达式来匹配HTML标记中的内容。我希望它能有所帮助。我仅限于正则表达式热点!@RonnieFagundesdeBrito完成了最初的模式工作?
(?<!value=")(?<=")([MASR]+[\d]+[MSAa-fx\d]+)(?=")
(?<!value=")\b[MASR]+\d+[MSAabcdefx\d]+\b