Javascript .match() 在使用 /gi 标志时不起作用
Javascript .match() not working when using /gi flags
在字符串html
上使用.match
函数时,以下代码返回一个包含匹配项的数组。
html = '<span><b>123</b>C / <b>456</b>K</span>'
var matches = html.match('<span><b>(.*?)</b>C / <b>(.*?)</b>K</span>')
console.log(matches)
但是,添加/g
标志后,正则表达式不再返回除null
之外的任何内容。它是否被正确使用,如下所示?
html = '<span><b>123</b>C / <b>456</b>K</span>'
var matches = html.match('/<span><b>(.*?)</b>C / <b>(.*?)</b>K</span>/g')
console.log(matches)
从正则表达式文本周围删除引号:
var matches = html.match(/<span><b>(.*?)<'/b>C '/ <b>(.*?)<'/b>K<'/span>/i);
当您使用'/<span><b>(.*?)</b>C / <b>(.*?)</b>K</span>/gi'
时,引号中的文本字符串用于匹配。
此外,您还需要转义/
并删除g
以返回所有匹配项。
它将返回:
["<span><b>123</b>C / <b>456</b>K</span>", "123", "456"]
相关文章:
- 全局标志仅与第一个匹配项匹配的Regexp
- 如何在标志中检查权限
- javascript测试是否存在两个标志中的任何一个
- 启用具有多个布尔可观察标志的绑定
- 类叶组件中的connect()是react+redux中反模式的标志吗
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作
- --Node.js中的和谐标志0.12抛出SyntaxError
- 为什么â标志弹出
- 可填充pdf绿色或红色标志按钮
- Javascript .match() 在使用 /gi 标志时不起作用
- JavaScript RegExp 忽略案例标志与全局匹配标志
- 带有标志和文本的国家/地区建议列表
- 将标志从Node/Express应用程序Python shell传递到Python脚本
- 大口喝摩卡如何传递编译器标志
- js.erb文件中提供给RegExp构造函数的标志无效
- 为什么在设置了OnPush标志的情况下,Angular2在更改检测过程中同时捕捉到引用更改和基元更改
- 用作标志的Javascript全局变量
- 当与全局标志一起使用时,Javascript Regex在后续调用中返回null
- 单击JQuery设置布尔标志
- 使用变量中的 gi 标志创建正则表达式