正则表达式.NET
我需要一个正则表达式来表示一些必须与字符串匹配的参数 这是正则表达式.NET,.net,regex,string,expression,.net,Regex,String,Expression,我需要一个正则表达式来表示一些必须与字符串匹配的参数 这是 该字符串至少包含8个字符,最多包含20个字符 此字符串的这些字符可以是alfabet字符或特殊字符 --换言之..除空格外的所有字符 完整字符串中必须至少有1个数字 字符串不能以数字或下划线开头 字符串的最后两个字符必须相同,但最后两个相同的字符是大写还是非大写并不重要(不区分大小写) 必须匹配所有: +234567899 a_1de*Gg xy1Me*__ !41deF_hij2lMnopq3ss C234567890123$^678
+234567899
a_1de*Gg
xy1Me*__
!41deF_hij2lMnopq3ss
C234567890123$^67800
*5555555
sDF564zer""
!!!!!!!!!4!!!!!!!!!!
abcdefghijklmnopq9ss
可能不匹配:
+234567899
a_1de*Gg
xy1Me*__
!41deF_hij2lMnopq3ss
C234567890123$^67800
*5555555
sDF564zer""
!!!!!!!!!4!!!!!!!!!!
abcdefghijklmnopq9ss
不能小于8个字符或大于20个字符:
a_1+Eff
B41def_hIJ2lmnopq3stt
不能包含空格:
A_4 e*gg
b41def_Hij2l nopq3ss
不能以数字或下划线开头:
__1+Eff
841DEf_hij2lmnopq3stt
不能在两个不同的字符上结束:
a_1+eFg
b41DEf_hij2lmnopq3st
字符串中不能没有数字:
abCDefghijklmnopqrss
abcdef+++dF
!!!!!!!!!!!!!!!!!!!!
------------------------------------------------------
这就是我到目前为止所拥有的…但我真的为此伤透了脑筋。。。
如果你不完全知道答案,那不是问题。。。
我只想找到正确的方向
([^0-9_])(?=.*\d)(\S{8,20})(?i:[\S])\1
如果可以使用多个正则表达式,请尝试以下操作:
\S{8,20}
[^_0-9].*\d.*
.*(?i)(.)\1
如果必须为1,请使用以下命令:
^[^_\s\d](?=.*\d)\S{5,17}(?i)(\S)\1$
(我必须感谢Casmir帮我找到了最后一个bug。)
编辑:
这是
^[^\s\d_](?=.*\d)\S{5,17}(?i)(\S)\1$
谢谢你,兄弟!我知道的唯一问题是他仍然会找到这个:841DEf_hij2lmnopq3stt。我的正则表达式工具将字符串标记为从“D”Put开始的
^
开头和$
结尾。我已经习惯了Java,其中.match
测试整个字符串是否匹配。非常感谢。只是一件小事…它们是否可能是匹配整个字符串的另一种方法,然后是“^”和“$”?由于某些原因,当我添加这两个符号时,我的正则表达式工具突然找不到任何东西。。。Thanx分配了帮助,所以farThanx paul…但是为什么每个正则表达式测试人员都给出0个匹配?我想我在语法上犯了一个愚蠢的错误…word bounderys有可能吗?…你有时间帮我在正则表达式测试仪上检查一下吗?因为里面说0个匹配也…@Fosa,试试regexhero.net/tester。它是基于Silverlight的。我的正则表达式在那里工作(不幸的是,我认为我不能以小提琴的形式发表)。已经分配了帮助。。。剩下的唯一问题是这个答案:^[^\s\d](?=.*\d)\s{5,17}(?i)(\s)\1$给出0个匹配项。即使是在一个在线正则表达式测试仪中…我想知道是否可以使用word bounderys?Thanx只是为了添加额外的信息…现在它在我的特殊正则表达式测试仪中也起作用了。在那个正则表达式测试程序中…我无法选中一个复选框,它说的是Multiline…所以我必须添加正则表达式参数(?m),这样小的添加以(?m)^[^\s\d](?=.*\d)\s{5,17}(?I)(\s)\1$信用给Paul Draper和Casimir et Hippolyte。可能重复的