Javascript多行regex先行或字符串的其余部分/字符串的最后一部分
Javascript multiline regex lookahead OR the rest of string / very end of string
我在捕获以下标记文本中的所有组时遇到问题:
### AAA
text for group AAA
### BBB
text for group BBB
### CCC
text for group CCC
我目前使用的正则表达式是:
/(^###'s['s'S]*?(?=^###'s))/gm
它使用积极的前瞻性来知道何时切断每组。因此,它总是无法捕捉到最后一组(没有前瞻性比赛)。
换行符不一致,所以我不能依赖它们,并且javascript regex没有''Z(我认为在其他语言中这是"字符串的末尾",而$是行的末尾)。
如何在此处捕获所有组?
您可以使用负向前看而不是正向前看:组的内容将是不在###
字符串开头的每个字符。
^###'s((?!###)['s'S])*
在regex101上试试吧!
查看JS是否具有'z
构造
如果没有,您可以使用而不是字符的前瞻(EOS)(?!['S's])
。
(^###[^'S'r'n]['S's]*?(?=^###[^'S'r'n]|(?!['S's])))
格式化:
( # (1 start)
^ '#'#'# [^'S'r'n]
['S's]*?
(?=
^ '#'#'# [^'S'r'n]
| (?! ['S's] )
)
) # (1 end)
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ng打开空字符串
- 正则表达式在字符串中找到base64
- 如何将字符串值从php页面发送到java脚本页面
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 对id以某个字符串开头的元素进行计数
- Javascript逻辑运算符和字符串/数字
- 反向字符串比较
- 如何有效地将游戏数据存储在URL查询字符串中
- 可变大小的JavaScript字符串如何成为基元类型
- 将DOM节点值与字符串Javascript进行比较
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 本地存储中的字符串到字节数组转换
- JavaScript按钮/输入/函数,字符串反转
- 从查询字符串参数推断出正确的数据类型
- 高亮显示与数组字符串一起使用时文本插件中断
- 如何检查字符串的一部分与数组匹配