Javascript 正则表达式先行语法

标签 javascript regex

我有以下正则表达式,我将其应用于页面上的多个网址。

(/Services\/(.*?)\/People\/(.*?(?=(\.aspx)))/gi)

我试图做的是匹配然后替换如下示例所示的 url 结构:

/Services/FoodService/People/JoeBloggs.aspx 

我让正则表达式一直工作,直到 .aspx 的前瞻。因此,如果能帮助我发现我的前瞻错误是什么,我们将不胜感激!

var res = str.match(/Services\/(.*?)\/People\/(.*?(?=(\.aspx)))/gi);

我已经将我遇到的问题分解如下:

(.*? (?=(\.aspx)))

任意字符:

.*?

只要向前查找找到

的实例
.aspx

我也查看了这些帖子,但我仍然在挣扎,所以感谢所有帮助!

Lookahead in JavaScript regex

Lookahead in Regex

最佳答案

您可以使用此正则表达式:

\/Services\/(.*?)\/People\/(.*?(?=\.aspx))

RegEx Demo

关于Javascript 正则表达式先行语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27061480/

相关文章:

javascript - 找到每个国家的大陆

javascript - 开关函数在未调用时触发,默认情况下在使用 addEventListener 时也不会阻止

javascript - Angular Directive(指令) mouseenter/mouseleave 工作但在 mouseleave 后不设置为初始状态

java - 我可以使用 ScriptableObject 在 Java 中构建 Rhino JavaAdapter 吗?

regex - Perl:使用 s/(替换)并返回新字符串

mysql - ER_TRUNCATED_WRONG_VALUE_FOR_FIELD 将一些字符串保存到 mysql

javascript - Angular-ui 日历错误

regex - 如何忽略所有子文件夹而不是文件夹中的文件?

php - 如何使 PHP 正则表达式选项组不急切?

javascript正则表达式匹配