Python 检查字符串是否具有特定格式
我想检查字符串是否符合我作为输入提供的格式,例如: 我想从字符串列表中提取具有以下格式的字符串:Python 检查字符串是否具有特定格式,python,regex,string,Python,Regex,String,我想检查字符串是否符合我作为输入提供的格式,例如: 我想从字符串列表中提取具有以下格式的字符串: ***.***.*** 其中*都是数字 我搜索了关于regex的内容,但理解得不够透彻,无法实现它。这应该可以解决问题。正则表达式字符串是^ [09] +\[09] +\[09] +$,其中每个数字正好匹配3次,并检查是否''.'分隔符位于中间。和$表示字符串的开始和结束 >>> import re >>> re.match('^[0-9]{3}\.[0-9]
***.***.***
其中*都是数字
我搜索了关于regex的内容,但理解得不够透彻,无法实现它。这应该可以解决问题。正则表达式字符串是^ [09] +\[09] +\[09] +$,其中每个数字正好匹配3次,并检查是否''.'分隔符位于中间。和$表示字符串的开始和结束
>>> import re
>>> re.match('^[0-9]{3}\.[0-9]{3}\.[0-9]{3}$','111.222.333')
<_sre.SRE_Match object at 0x10f98cb28>
>>> re.match('^[0-9]+\.[0-9]+\.[0-9]+$','a11.22.33b')
>>> re.match('^[0-9]+\.[0-9]+\.[0-9]+$','1a1.22.3b3')
>>> re.match('^[0-9]+\.[0-9]+\.[0-9]+$','11.2a2.33')
这应该能奏效。正则表达式字符串是^ [09] +\[09] +\[09] +$,其中每个数字正好匹配3次,并检查是否''.'分隔符位于中间。和$表示字符串的开始和结束
>>> import re
>>> re.match('^[0-9]{3}\.[0-9]{3}\.[0-9]{3}$','111.222.333')
<_sre.SRE_Match object at 0x10f98cb28>
>>> re.match('^[0-9]+\.[0-9]+\.[0-9]+$','a11.22.33b')
>>> re.match('^[0-9]+\.[0-9]+\.[0-9]+$','1a1.22.3b3')
>>> re.match('^[0-9]+\.[0-9]+\.[0-9]+$','11.2a2.33')
这绝对是regex的工作。该模式的简单正则表达式可能是 \d\d\d\。\d\d\d\。\d\d\d \d代表任意数字,\。是转义句点字符,因为。是正则表达式中的一个特殊符号。对于python,re库可能会将findall方法用于该模式
匹配项列表=re.findall\d\d\d\。\d\d\d\。\d\d\d,我的字符串这绝对是正则表达式的工作。该模式的简单正则表达式可能是 \d\d\d\。\d\d\d\。\d\d\d \d代表任意数字,\。是转义句点字符,因为。是正则表达式中的一个特殊符号。对于python,re库可能会将findall方法用于该模式 匹配项列表=re.findall\d\d\d\。\d\d\d\。\d\d\d,我的\u字符串我们可以尝试使用具有以下模式的re.findall:
\b\d{3}\.\d{3}\.\d{3}\b
示例代码:
input = "here some number 123.456.789 for testing"
matches = re.findall(r'\b\d{3}\.\d{3}\.\d{3}\b', input)
print(matches)
['123.456.789']
在这里使用re.findall是一个很好的选择,因为它还意味着您可以在输入字符串中捕获多个匹配项。我们可以尝试使用具有以下模式的re.findall:
\b\d{3}\.\d{3}\.\d{3}\b
示例代码:
input = "here some number 123.456.789 for testing"
matches = re.findall(r'\b\d{3}\.\d{3}\.\d{3}\b', input)
print(matches)
['123.456.789']
在这里使用re.findall是一个很好的选择,因为它还意味着您可以在输入字符串中捕获多个匹配项。它还将匹配*.*.*、***.*.*、***.***.***.***.***.***.***.*等。因此不适合给定的格式。按此进行编辑后,它还将匹配*.*、***.***.***.***.***.***、***.***.***.***.***,因此不适合给定的格式。请进行相应编辑