1

我遇到障碍的地方是试图检查这个

(?<http>(http|ftp|https):\/\/)?(?<address>([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?)

如果表达式包含 @ 符号,则拒绝该表达式。

我已经尝试了许多变体,但都没有成功。

如果我可以告诉它确保其中没有@字符但我不想使用[^@]语法要求字符,那会起作用。那么我如何告诉正则表达式同时接受\w和拒绝@[\w^@]据我所知,我无法做到。

我的困难是我正在使用正则表达式替换。您是否建议我使用占位符并在之后使用十场比赛?

4

2 回答 2

3

您不必将所有内容都放入一个正则表达式中。例如,您可以匹配现有的正则表达式,然后使用辅助正则表达式检查该字符串没有@-符号。

于 2009-09-12T00:57:13.563 回答
0

我同意内德。使用两个正则表达式。您可以从多个来源获取它们,包括http://regexlib.com/

于 2009-09-12T01:10:53.393 回答