关于单个字符的正则表达式问题

发布于 2024-11-05 08:45:54 字数 255 浏览 1 评论 0原文

我想使用正则表达式来替换 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

逆蝶 2024-11-12 08:45:55
([^/]+//[^/]+/)([^t])


$1 = before your inalid character
$2 = the char 'e', ot anything other than 't'

根据您的解析器,您可能需要将 / 字符转义为 \/

([^/]+//[^/]+/)([^t])


$1 = before your inalid character
$2 = the char 'e', ot anything other than 't'

Based on your parser you may need to escape / chars to \/

看春风乍起 2024-11-12 08:45:55

为此,您可以使用 CF MX 中的 REReplace 功能。基本思想是创建一个正则表达式,将除要替换的字符之外的所有内容放入捕获组中,并使用反向引用将它们保留在替换字符串中。例如:

REReplace(url, "(^http://[^/]*/)([^t])(.*)", "\1t\3", "ONE")

如果第一个 / 之后的第一个字符是 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:

REReplace(url, "(^http://[^/]*/)([^t])(.*)", "\1t\3", "ONE")

If the first character after your first / is a t, the entire regex won't match, and nothing will get replaced.

如梦 2024-11-12 08:45:55
<cfset address = 'http://www.domain.com/e343/Product.html' />
<cfset updated = reReplaceNoCase(address, '(\w/)[^t]?', '\1') />
<cfoutput>#updated#</cfoutput>

结果

http://www.domain.com/343/Product.html

它总是找到前面有字母的第一个斜杠,如果斜杠后面的字母不是“t”,则还包括该字母。然后它将匹配项替换为除非“t”字母之外的所有内容。

<cfset address = 'http://www.domain.com/e343/Product.html' />
<cfset updated = reReplaceNoCase(address, '(\w/)[^t]?', '\1') />
<cfoutput>#updated#</cfoutput>

Result

http://www.domain.com/343/Product.html

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'.

淡淡の花香 2024-11-12 08:45:55

这是我发现的最有用的正则表达式页面。每个开发人员都应该链接到这个。

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/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文