我想使用正则表达式来匹配和替换我的文件名和右括号之间的任何内容。
我写了一个正则表达式:
/(?<=imagecheck.php)[^)]*/这在php中有效,但在Javascript中不起作用。
我会在JS中做...How吗?
示例:
input string example 1: url(127.0.0.1/imagecheck.php)
input string example 2: url(127.0.0.1/imagecheck.php?boost=9881732213826123918238)
outcome string example: url(127.0.0.1/imagecheck.php?reload=oh_yes_plx&boost=123810982346023984723948723023423)发布于 2012-07-22 12:20:41
在Javascript中不支持后视。您可以使用采集组来捕获"imagecheck.php"之后的文本:
.match(/imagecheck.php([^)]*)/)结果将在返回数组的索引1中(如果存在匹配)。
这是一个删除"imagecheck.php"之后的内容的示例
.replace(/(imagecheck.php)[^)]*/, "$1")发布于 2012-07-22 12:26:07
在javascript中没有后视,你可以像这样替换你的文件名和结束paren之间的所有东西:
str = str.replace(/imagecheck.php\([^)]*\)/, "imagecheck.php(whatever)");或者,您可以使用捕获组和编号引用来避免重复初始模式:
str = str.replace(/(imagecheck.php)\([^)]*\)/, "$1(whatever)");发布于 2012-07-26 02:57:15
XRegExp不支持直接回看。为此,您需要使用之前通过@arxanas:http://blog.stevenlevithan.com/archives/javascript-regex-lookbehind链接到的addon脚本。此外,XRegExp在其模式字符串中不使用正斜杠分隔符。
https://stackoverflow.com/questions/11597718
复制相似问题