javascript - 如何为正则表达式添加条件?

标签 javascript java regex string regular-language

我必须得到以 =" 开头的字符串并以下一个 " 结尾.但它应该包含 <象征。

(="([^"])*<*")

字符串:

dit niet "dit wel" dit ook niet ="maar <dit ""en""dit ook"
REM dit niet "dit <wel" dit ook niet ="maar dit ""en""dit ook"
dit niet "dit wel" REM "maar dit ""en""dit ook"

上面的代码给了我两个字符串,我只需要得到下面提到的一个。

预期结果:

="maar <dit "

实际结果:

="maar <dit "
="maar dit "

注意: 需要获取所有以="开头的结果并且有 <并以下一次出现 " 结束

最佳答案

你的 ="([^"])*<*"正则表达式匹配 =" , 然后它捕获除 " 以外的任何字符重复(这样只有它的最后一次出现在第 1 组缓冲区中),然后 零个或多个 <符号 后跟" .因此,您的正则表达式并不真正需要 <出现在您匹配的字符串中。

你可以使用

="([^"<]*<[^"]*)"

参见 regex demo

详细信息:

  • =" - 一个 ="顺序
  • ([^"<]*<[^"]*) - 将保留值的第 1 组:
    • [^"<]* - 除 " 以外的零个或多个字符和 <
    • < - 一个 <符号
    • [^"]* - 除 " 以外的零个或多个字符
  • " - 双引号

关于javascript - 如何为正则表达式添加条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39486853/

相关文章:

javascript - 我想使用 Xrm.WebApi.online.executeMultiple 从 Dynamics 中删除多个 CRM 记录

javascript - 如何在子模式 Meteor js 1.8 中声明 simpleschema OR

java - 如何使用 ldap 服务器 url 了解 ldap 的版本

java - 如何在启动时将 JFrame 定位到屏幕的右上角

python - 如何有选择地将附加子字符串与 Python 正则表达式匹配?

javascript - 在 JavaScript 中进行简单的运输和处理计算

javascript - 修改每个元素的CSS属性

java - 避免重复记录 - HashSet

javascript - 如何使用 javascript 替换这些笑脸

python - 将 boolean 公式映射到 Python 集合表达式