我是一个RegEx新手,这让我在过去的48小时里都快疯了。我尽我所能阅读了数百个例子和文件。我想学习。你知道吗
我需要从如下字符串中提取月份名称,其中月份是中间的单词(多语言):
10 july 2014
9 dicembre2014
1januar2011
18août2002 (note: non-[A-z] character in the month if it matters)
我得到的最接近的结果是[\D]{3,}(?=.{4,})
:
' july '
' dicembre'
'januar'
'août'
但它仍然匹配名称周围的空格。我试着添加[^\s]
,但显然没那么简单。你知道吗
最简单的正则表达式方法是什么来找到合适的匹配?你知道吗
如果设置
re.UNICODE
标志,则可以使用unicode属性,因此\w
还匹配来自所有脚本(包括û
、ñ
、á
等)的所有字母。然后,[^\W\d_]
将只匹配字母,但来自任何脚本:\w
匹配单词字符(字母、数字或下划线“_
”)\W
是否定的缩写,它匹配非单词字符(与[^\w]
相同)\d
匹配数字[^\W\d_]
将匹配除非单词字符、数字或“_
”之外的任何内容。。。也就是说它只匹配字母代码:
输出:
联机检查here
相关问题 更多 >
编程相关推荐