仅当存在开盘报价时,才匹配收盘价
Match closing quote only if opening quote exists
我有性质与'foo = "bar"'
相似的字符串。 现在,当我测试这些字符串是否通过某个正则表达式时,我正在用["|']?
测试"bar"周围的引号,使该区域中的完整正则表达式类似于["|']?('w+)["|']?
(我正在去除不相关的表达式部分以提高可读性)。
这意味着几件事:
- 单词周围的引号可以是双引号、单引号或不存在。
- 无论它们是哪个,它们都不是"链接"的。 如果在左侧使用双引号,而右侧没有引号,这仍然会通过,依此类推。
我的目标是在第一个报价的基础上匹配第二个报价。 我非常想完全用正则表达式来实现这一点,尽管我知道我正在接近它可以做的极限(就 JavaScript 实现而言)。 我对前瞻/后视非常熟悉,但据我了解,这些只有在引号感人的情况下才有意义。 我希望我理解错误。
PS:我只担心现代浏览器,所以IE<10支持不是问题。
P.P.S:我提到我想用正则表达式来做这件事。 请省力,不要给其他选择。 一个"你不能这样做"就足够了。
你可以
这样写:
/(["'])'w+'1/
'1
将只匹配与第一个捕获组 ((["'])
) 捕获的字符串相同的字符串。
请注意,我从字符类["']
中删除了管道字符|
,因为这似乎是一个错误:管道字符在字符类中没有任何特殊含义。 ["|']
仅在您希望能够匹配时才是正确的,例如 |bar|
.
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 用于检查数组中是否存在元素的javascript自定义方法
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- 正在将事件处理程序添加到不存在的类
- 是否存在React Native“;WEB代码安全防护”;
- 一个密码测试程序,如果存在空格,它会提醒用户
- 验证会话中是否存在对象's数组
- javascript如果图像不存在don't加载它
- 如何查找值是否存在于二叉树中
- IE9的HTML5 Canvas getImageData()函数存在问题
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- CORS-服务器端cookie没有保存在chrome浏览器上
- 检查是否存在使用chrome扩展的javascript库
- 是否存在Javascript Liferay Service库的文档?如何处理错误情况
- 测试mongo脚本中是否存在参数
- 存在每个时间元素的javascript事件
- 仅当存在开盘报价时,才匹配收盘价