我有以下XML标记
<list message="2 < 3">
我想用<
<
如果没有出现在行首,则需要正则表达式匹配<
。
答案 0 :(得分:30)
答案 1 :(得分:7)
[^<]+
=一个或多个不是&lt;
<
=&lt;你正在寻找
取代:
([^<]+)<
使用:
$1<
答案 2 :(得分:5)
点'。'意为“任何价值”
.<
无论如何,我想你也不想要空格。如果是,那么
\S\s*<
答案 3 :(得分:1)
这会给你“&lt;”在第一次实例之后:
[^<]<
答案 4 :(得分:0)
试试这个:
(?<="[^"]*)<(?=[^"]*")
答案 5 :(得分:0)
<
不匹配。
如果你使用javascript,所有的lookbehind都不会工作。因为javascript不支持lookbehind,除非你打开nodejs中的--harmony
标志或chrome中的实验性javascript功能。
但是先行可以在这里工作,这是:
/(?!^)</
将匹配不在一行开头的<
。
而更换将是:
'<list message="2 < 3">'.replace(/(?!^)</, '<')