说我有一个句子列表,其中很多包含数字(但不是全部):
mylist = [
"The current year is 2015 AD.",
"I have 2 dogs."
...
]
Run Code Online (Sandbox Code Playgroud)
我想知道列表中的哪些元素包含有效年份(例如,介于1000和3000之间)。我知道这是一个正则表达式问题,而且我发现了一些帖子(例如,此帖子)可以解决检测字符串中的数字的问题,但是整整一年都没有。有任何正则表达式向导吗?
小智 7
听起来好像您正在寻找一个正则表达式,该正则表达式将找到4位数字,其中前一位数字介于1和3之间,接下来的3位数字介于0和9之间,所以我认为您正在寻找这样的东西
[1-3][0-9]{3}
Run Code Online (Sandbox Code Playgroud)
如果您想接受包含此内容的字符串,则可以这样做
.*([1-3][0-9]{3})
Run Code Online (Sandbox Code Playgroud)
这是一个简单的解决方案:
import re
mylist = [] # init the list
for l in mylist:
match = re.match(r'.*([1-3][0-9]{3})', l)
if match is not None:
# Then it found a match!
print match.group(1)
Run Code Online (Sandbox Code Playgroud)
这将检查在1000和3999之间是否有4位数字
| 归档时间: |
|
| 查看次数: |
7890 次 |
| 最近记录: |