regex 由一个或多个空格字符分隔的两组字母数字字符(包括字母、数字和下划线)

s71maibg  于 2022-11-26  发布在  其他
关注(0)|答案(8)|浏览(143)

填写代码以检查传递的文本是否至少包含两组由一个或多个空格字符分隔的字母数字字符(包括字母、数字和下划线

import re
def check_character_groups(text):
  result = re.search(r"___", text)
  return result != None

print(check_character_groups("One")) # False
print(check_character_groups("123  Ready Set GO")) # True
print(check_character_groups("username user_01")) # True
print(check_character_groups("shopping_list: milk, bread, eggs.")) # False
bbmckpt7

bbmckpt71#

import re
def check_character_groups(text):
  result = re.search(r"\w\s+\w", text)
  return result != None

print(check_character_groups("One ")) # False
print(check_character_groups("123  Ready Set GO")) # True
print(check_character_groups("username user_01")) # True
print(check_character_groups("shopping_list: milk, bread, eggs.")) # False

这是我的回答,它返回它所请求的内容,
关键答案是\w\s+\w

ymzxtsji

ymzxtsji2#

用作正则表达式模式

\b\w+\s+\w+\b
  • \b单词边界,标记单词的开始(也用作字符串的开始)
  • \w+表示字母数字字符[a-zA-Z0-9_](一个或多个)
  • \s+一个或多个空格
  • \w+下一个字母数字字符(1+)
  • \b字边界(也适用于字符串结尾)

所以试试看:

import re

def check_character_groups(text):
  result = re.search(r"\b\w+\s+\w+\b", text)
  return result != None

print(check_character_groups("One "))  # False
print(check_character_groups("123  Ready Set GO"))  # True
print(check_character_groups("username user_01"))  # True
print(check_character_groups("shopping_list: milk, bread, eggs."))  # False

如果字母数字组的左侧和/或右侧应有特殊字符/空格/...,则必须指定它。
regex101debuggex上进行测试。
x1c 0d1x图片由Regulex(!这里的语法是JavaScript的!)

dfddblmv

dfddblmv3#

import re
def check_character_groups(text):
  result = re.search(r"\w+\s", text)
  return result != None

print(check_character_groups("One")) # False
print(check_character_groups("123  Ready Set GO")) # True
print(check_character_groups("username user_01")) # True
print(check_character_groups("shopping_list: milk, bread, eggs.")) # False

以下是您的输出:假真真假

3duebb1j

3duebb1j4#

import re
def check_character_groups(text):
  result = re.search(r"[\w]+[\s]+[\w]", text)
  return result != None

答案是使用[\w]+[\s]+[\w]作为正则表达式。

mwkjh3gx

mwkjh3gx5#

这将匹配2组字母数字字符(包括下划线),由一个或多个空格字符分隔的条件

result = re.search(r"\w+\s.*", text)

说明:
1.重复字符将按 * 搜索
1.字母数字字符(包括下划线)将按**\w进行搜索
1.将使用
\s**搜索空格字符
1.要搜索两个字符之间的字符,将通过点(.)的组合进行搜索

klsxnrf1

klsxnrf16#

re.searchB
您也可以尝试此操作。\B定义边界。

lb3vh1jj

lb3vh1jj7#

使用简单的
result = re.search(r"[\w] [\w]", text)

qcuzuvrc

qcuzuvrc8#

re.search(r"\w\s+\w", text)
“123 Ready”之间有2个空格。由于\s只表示一个空格字符,因此我们应该使用\s+表示一个或多个空格字符。

print(re.search(r"\w\s\w", "123  Ready Set GO"))
>>> <re.Match object; span=(9, 12), match='y S'>

print(re.search(r"\w\s+\w", "123  Ready Set GO"))
>>> <re.Match object; span=(7, 10), match='e u'>

相关问题