我需要帮助匹配正则表达式。
示例:"行[' DEU'] +行[' CYP'] + DE"
我希望能够在不影响行[xyz]的情况下用行[' DE']替换DE。
如果我进行全局搜索和替换,第一行会受到影响,所以我正在寻找帮助如何替换而不会影响具有行[' xyz']的字符串部分
答案 0 :(得分:2)
这样的模式也许适合你:
/\b(\w+)(?![['])\b/
这将匹配任何整个单词(其中'单词'由一个或多个拉丁字母,十进制数字或下划线组成),只要它后面没有[
或'
字符,并在第1组中捕获它,因此您可以使用$1
来表示替换字符串中捕获的单词。
例如:
"row['DEU'] + row['CYP'] + DE".replace(/\b(\w+)(?![['])\b/g, "row['$1']")
// "row['DEU'] + row['CYP'] + row['DE']"
或者,您可以省略捕获组并改为使用$&
:
"row['DEU'] + row['CYP'] + DE".replace(/\b\w+(?![['])\b/g, "row['$&']")
// "row['DEU'] + row['CYP'] + row['DE']"