关于单个字符的正则表达式问题
我想使用正则表达式来替换 URL 中的单个字符。
网址如下:
http://www.example.com/e343/Product.html
我想使用正则表达式来替换第一个斜杠之后不是 "t"
的任何字符。在本例中,使用的字母是字母 "e"
在本例中,我使用的是 ColdFusion MX,因此如果有正则表达式的替代方案,我将很乐意使用它。
I would like to use regex to replace a single character in a URL.
The url is below:
http://www.example.com/e343/Product.html
I would like to use regex to replace any character that is not a "t"
after the first slash. In this case the letter being used is the letter "e"
In this case I am using ColdFusion MX so if there is an alternative to regex I'll be happy to use it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
根据您的解析器,您可能需要将 / 字符转义为 \/
Based on your parser you may need to escape / chars to \/
为此,您可以使用 CF MX 中的 REReplace 功能。基本思想是创建一个正则表达式,将除要替换的字符之外的所有内容放入捕获组中,并使用反向引用将它们保留在替换字符串中。例如:
如果第一个 / 之后的第一个字符是 at,则整个正则表达式将不匹配,并且不会替换任何内容。
You can use the REReplace function in CF MX for this. The basic idea to to make a regex that puts everything except the character you want to replace into capture groups, and use the backreferences to keep them in the replacement string. Something like:
If the first character after your first / is a t, the entire regex won't match, and nothing will get replaced.
结果
它总是找到前面有字母的第一个斜杠,如果斜杠后面的字母不是“t”,则还包括该字母。然后它将匹配项替换为除非“t”字母之外的所有内容。
Result
It always finds the first slash preceded by a letter, and also includes the letter after the slash if it is not a 't'. Then it replaces the match with everything except for the letter that is not 't'.
这是我发现的最有用的正则表达式页面。每个开发人员都应该链接到这个。
http://txt2re.com/
Here is the most useful regular expression page i have ever found. Every developer should link to this one.
http://txt2re.com/