正则表达式基于两个行首条件来定位特定单词

时间:2016-05-05 15:47:00

标签: javascript regex

我在文本区域(特别是codeMirror窗口)中有一系列行。我想改变(选择)单词的所有实例(例如string1)的颜色,如果该行以特定的不同单词(例如string2)开头。如果存在,则string2和string 1之间可以有任意数量的单词。

我对正则表达式来说很陌生,我可以为此目标找到的所有示例都是从string2到string1的所有行,而不是仅针对string1。

感谢您的帮助!

编辑:

我已经解决了我可以使用^string2(.*string1.*)$定位整行,但为了澄清,我希望只定位单词" string1"如果string1所在的行以" string2"

开头

1 个答案:

答案 0 :(得分:0)

定位以 string2 开头且包含 string1 的所有行:

^(string2.*?)string1(.*)$

现在,$1string1之前有行的第一部分,$2后面有行的一部分> string1

...允许使用您选择的替换字符串,例如将所有string1变为红色(不确定这是否为html但是您明白了):

$1<span class='red'>string1</span>$2