我通常远离,regular expressions因为我很少找到他们的好用.但在这种情况下,我认为我没有选择.
我需要一个正则表达式来处理以下情况.我将看三个字符串.如果第一个字符是1-9 or the letters o,n,d (lower or upper) AND,则第二个字符是1,2 or 3第三个字符,它将匹配0-9.
有人可以帮帮我吗?
[1-9ondOND][123][0-9]
Run Code Online (Sandbox Code Playgroud)
我省略了^和$(字符串标记的开头和结尾),因为你说你有三个字符的字符串,但是包含它们没有什么害处,它们可能会提高速度,而不是说这对于这么短的事情来说是个大问题输入.
当然,这是假定你的语言和区域,其中的大写形式的工作o,n和d是O,N和D.如果没有,你需要告诉你的正则表达式解释器忽略大小写.该机制因语言/框架而异.
对于python,你会使用类似的东西:
re.match('[1-9ond][123][0-9]', inputstring, re.IGNORECASE)
Run Code Online (Sandbox Code Playgroud)
该re.match部队比赛在字符串的开头,这样你就不需要^在任何情况下.
| 归档时间: |
|
| 查看次数: |
8809 次 |
| 最近记录: |