【问题标题】:Regexp to validate string for a username in a search用于在搜索中验证用户名字符串的正则表达式
【发布时间】:2023-01-25 20:36:57
【问题描述】:

我必须寻找用户名=我的.用户名并想用用户名=my.username@mydomain.com但如果字符串已经与@我的域名.com它不应该取代任何东西。

所以字符串是正的没有 @但否定@

任何帮助都会很棒

我已经试过了username=(?:(?!@).)*(?![^@]*@).但这并没有完全奏效。

【问题讨论】:

  • 你需要正则表达式吗?什么语言?
  • 这是 Citrix Netscaler 重写规则,据我所知使用 pcre,我必须遵守。

标签: regex string search replace pcre


【解决方案1】:

您可以使用

username=(?![^s@]*@)[^s@]+

请参阅regex demo

细节:

  • username= - 文字字符串
  • (?![^s@]*@) - 紧靠右边,除了空格和 @ 然后是 @ 字符外,不应有任何零个或多个字符
  • [^s@]+ - 除空格和 @ 字符外的一个或多个字符。

对于独立字符串,您可以使用

^username=[^@]+$

参见this regex demo,其中^匹配字符串的开头,$匹配字符串的结尾,[^@]+匹配除@之外的一个或多个字符。

【讨论】:

  • 谢谢,但这实际上不起作用,因为如果我使用my.username@mydomain.com正则表达式使my.username@mydomain.com@mydomain.com从它出来。
猜你喜欢
  • 2014-12-03
  • 1970-01-01
  • 1970-01-01
  • 2013-02-09
  • 2011-06-09
  • 1970-01-01
  • 2021-10-29
  • 2021-09-06
  • 2011-10-10
相关资源
最近更新 更多