作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我必须得到以 ="
开头的字符串并以下一个 "
结尾.但它应该包含 <
象征。
(="([^"])*<*")
字符串:
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/
我是一名优秀的程序员,十分优秀!