javascript - RE 仅匹配不以 value=" 开头的字符串
问题描述
我正在尝试编写一个正则表达式来捕获不以字符串“ value="
”开头的模式。已经用负前瞻测试,但不成功。想知道 RE 是否有可能......欢迎任何帮助。
表达式是^(?!value=")([M|A|S|R]+\d+[M|S|A|R|a|b|c|d|e|f|x|\d|\s]+)\b
start
this value this should be captured
"M533x539S18520507x461S18528469x461S2e00c512x486S2e014467x487S2fc04492x528"
but this last one not
value="M519x515S11520482x485S26506504x500"
end
https://regex101.com/r/ugARR0/1
<div style=" height:100%" contenteditable="true" name="target_0_div" cols="40" rows="3" tabindex="100" class="translation-editor form-control teste" id="id_eedbdc1996c09949_0" lang="sgn-BR" dir="ltr" abc="3" maxlength="100"> M533x539S18520507x461S18528469x461S2e00c512x486S2e014467x487S2fc04492x528 </div>
<input type="hidden" id="target_0" name="target_0" value="M533x539S18520507x461S18528469x461S2e00c512x486S2e014467x487S2fc04492x528">
<script>
https://regex101.com/r/cVWlQp/5
谢谢
解决方案
你可以稍微简化一下:
^"[MASR]+[\d]+[MSAa-fx\d]+"
https://regex101.com/r/cVWlQp/2
由于您是从字符串的开头使用 开始的^
,因此您可以忽略以引用值以外的其他内容开头的字符串。
如果您尝试获取引号内的值,则可以将该部分包含在括号中:
^"([MASR]+[\d]+[MSAa-fx\d]+)"
更新您的问题后...
如果您尝试匹配 HTML 内容中的字符串而不获取 HTML 属性中的值,您可以简单地使用:
[\s|>]+([MASR]+[\d]+[MSAa-fx\d]+)
此正则表达式查找以结束符或空格开头的匹配项,>
并返回第一个“组”中的字符串。
推荐阅读
- c# - EntityFramework 原始 SQL 插入与输出不起作用
- xcode - 无法在 iOS 模拟器上运行颤振应用程序。已经尝试了很多东西
- typescript - TypeScript 接口和动态键
- r - 如何根据单独数据框中的值计算数据框中的新列?
- firebase - Firestore 安全规则 get()。存在()
- python - 为什么 tkinter GUI 不能使用 pythonw 工作(为了隐藏命令行)?
- sublimetext3 - Sublime text3,一个文件图标 webpack icons
- bash - Bash 5 - 未找到 mapfile / readarray 命令
- c# - 无法转换 lambda 表达式,适用于一个项目,而不是另一个
- java - Java 14 上的 SeaGlassLookAndFeel