在制作数字和字符组合正则表达式时出问题

时间:2017-05-14 12:06:32

标签: regex

我正在学习正则表达式,我以下面的练习开始了我的榜样。

正则表达式

  
      
  1. 最小一个小案。
  2.   
  3. 最少一个号码
  4.   

我在下面尝试过它完美且已在regex exe中测试过。

^[0-9]+[a-z]+$

enter image description here

唯一的问题是:我不能先写字符,而不能写字符。我的意思是当我尝试使用示例 a1 时,它失败了

你能建议吗?我怎么能先写char然后使用相同的正则表达式编号

3 个答案:

答案 0 :(得分:0)

如果您的extension UITableViewController { func dispayHighlightedCell(tableView: TableView) { ... } 支持Regex Coach,那么这将有助于您解决问题。

Regex demo

正则表达式: positive lookahead

  

1。 ^(?=.*?\d)(?=.*?[a-z]).*字符串

的开头      

2。 ^正向前看数字

     

3。 (?=.*?\d)正面展示小写字符(?=.*?[a-z])

     

4. a-z匹配所有

答案 1 :(得分:0)

虽然Sahil Gulati的答案通常是更好的选择,但更直观的选择是简单地使用正则表达式逻辑“或”#39; (|符号):

^[0-9]+[a-z]+$|^[a-z]+[0-9]+$

这匹配

  1. ^[0-9]+[a-z]+$
  2. ^[a-z]+[0-9]+$

答案 2 :(得分:0)

^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*\W)(?=\S+$).{8,}$

<强>解释

^                 # start-of-string
(?=.*[0-9])       # a digit must occur at least once
(?=.*[a-z])       # a lower case letter must occur at least once
(?=.*[A-Z])       # an upper case letter must occur at least once
(?=.*\W)          # a special character must occur at least once
(?=\S+$)          # no whitespace allowed in the entire string
.{8,}             # anything, at least eight places though
$                 # end-of-string