正则表达式查找字符串结尾
regular expression find end of string
我有一个正则表达式的问题。
我想替换myData=xxxx&
的所有位置xxxx可以更改,但总是以&
结尾,除了最后一个位置,当它是myData=xxx
时。
var data = "the text myData=data1& and &myData=otherData& and end myData=endofstring"
data.replace(/myData=.*?&/g,'newData');
它返回:
文本newData和&newData和end myData=endofstring
哪一个是正确的,但我如何检测最后一个呢?
两件事:
-
你需要把
replace
的结果分配到某个地方,而你在问题的代码中没有这样做 -
您可以使用交替(
|
)来匹配&
或字符串末尾
因此:
var data = "the text myData=data1& and &myData=otherData& and end myData=endofstring"
data = data.replace(/myData=.*?(?:&|$)/g,'newData');
// ^^^^^^^-- 1 ^^^^^^^-- 2
console.log(data);
请注意使用非捕获组((?:...)
)来限制交替的范围。
关于:
data="myData=abc& and linked with something else";
data.replace(/myData=.*?&/g,'newData');
https://jsfiddle.net/ob8c2j9v/
相关文章:
- 创建属性值数组,其中属性名称以特定字符串结尾
- 如何删除字符串开头和结尾的换行符
- 用于删除字符串中字符开头到结尾的正则表达式
- 从结尾或开头修剪字符串
- 正则表达式能否匹配字符串开头或结尾的字符(但不能同时匹配)
- 将一个字母结尾到特定字符串的末尾
- 如何从以某个单词(regexp)结尾的字符串中获取id
- javascript正则表达式浮点数,以字符串结尾
- 在字符串的开头和结尾搜索相同的数字
- 如何编写RegExpression For在javascript中不允许在字符串中使用前导和结尾空格
- 正则表达式 - 字符串不能以空格开头,以空格结尾,并且连续包含几个空格
- 在字符串的开头和结尾添加一个字符
- JavaScript WebSocket 非以 null 结尾的字符串
- 将特定字符串的结尾从模式的末端剥离
- 如何检查字符串是否有空格或结尾
- 从字符串(JavaScript 或 PHP)的开头和结尾删除
- 标签
- REGEX 检查字符串开头或结尾的字符
- 如何删除“//<![CDATA[' 和结尾 '//]]>' 与字符串中的 JavaScript
- jquery 正则表达式修剪 URL 字符串的开头和结尾
- Web 视图中字符串开头和结尾的像素偏移量 (x,y)