regexr.com 对比 regex101.com
regexr.com vs regex101.com
给出这个字符串:
z;
hh ;d;
;
;
;
12;b
;
bb;b
;;;
;;
这个表达式:
^(?:;+)\R*
我在 regex101.com and regexr.com 中得到了 2 个不同的结果。
不同之处在于 regex101.com 在替换框中的末尾有一个额外的 \n 而 regexr.com 没有
问题:
1) 根据我有限的正则表达式经验,regexr.com 显示的是正确答案,是否正确?
2) 差异是像这些错误还是仅仅是实现上的差异?所以基本上他们都是正确的?
两个正则表达式测试器产生相同的结果。 regexr.com 中缺失的换行符只是一种错觉,由 HTML 元素包含具有 readonly
属性的替换结果导致,使您无法将光标放在换行符上.但是不能仅仅因为你不能将光标放在它上面,并不意味着它不存在。
如果您同时清除正则表达式和替换字段,那么 "text" 字段中的任何内容都会直接进入 "result"。然后在 "text" 字段中写入一行,按回车键插入一个新行。您应该无法在 "result" 区域中找到该换行符。
因此,这只是 regexr.com 的一个怪癖,而不是特定于此特定正则表达式的问题。
如果您希望能够将光标放在上面,请转到浏览器的开发工具,检查 "result" 区域,您会看到它是一个像这样的 textarea
元素:
<div class="result">
<textarea readonly>
...
</textarea>
</div>
删除单词readonly
,您应该可以将光标放在换行符上。
两个正则表达式测试器都是正确的。尽管您使用 \R
在每次匹配后删除了换行符,但结果中的最后一个换行符实际上来自结束行 bb;b
的换行符。由于 bb;b
不匹配,因此不会删除此新行。
给出这个字符串:
z;
hh ;d;
;
;
;
12;b
;
bb;b
;;;
;;
这个表达式:
^(?:;+)\R*
我在 regex101.com and regexr.com 中得到了 2 个不同的结果。 不同之处在于 regex101.com 在替换框中的末尾有一个额外的 \n 而 regexr.com 没有
问题:
1) 根据我有限的正则表达式经验,regexr.com 显示的是正确答案,是否正确?
2) 差异是像这些错误还是仅仅是实现上的差异?所以基本上他们都是正确的?
两个正则表达式测试器产生相同的结果。 regexr.com 中缺失的换行符只是一种错觉,由 HTML 元素包含具有 readonly
属性的替换结果导致,使您无法将光标放在换行符上.但是不能仅仅因为你不能将光标放在它上面,并不意味着它不存在。
如果您同时清除正则表达式和替换字段,那么 "text" 字段中的任何内容都会直接进入 "result"。然后在 "text" 字段中写入一行,按回车键插入一个新行。您应该无法在 "result" 区域中找到该换行符。
因此,这只是 regexr.com 的一个怪癖,而不是特定于此特定正则表达式的问题。
如果您希望能够将光标放在上面,请转到浏览器的开发工具,检查 "result" 区域,您会看到它是一个像这样的 textarea
元素:
<div class="result">
<textarea readonly>
...
</textarea>
</div>
删除单词readonly
,您应该可以将光标放在换行符上。
两个正则表达式测试器都是正确的。尽管您使用 \R
在每次匹配后删除了换行符,但结果中的最后一个换行符实际上来自结束行 bb;b
的换行符。由于 bb;b
不匹配,因此不会删除此新行。