2024-05-06 23:18:52 发布
网友
我试图从用户那里获取输入,并希望编译由每个字符组成的regex,我尝试使用list和list作为参数,但失败了。在
我不想匹配完整的字符串,但只有个别字符更具体
x = raw_input("Enter string of length 7 to generate your scrabble helper: ") a = [] for i in x: a.append(i) print(a) p = re.compile(a)
但这失败了!!!!在
我不确定我是否完全理解您的需求,但也许这样做会有所帮助:
x = raw_input("Enter string of length 7 to generate your scrabble helper: ") p = re.compile('|'.join((c for c in x)))
这应该匹配输入字符串中的每个字符,而不是整个字符串。您应该确保在用户输入中没有特殊字符,但这是另一个问题。在
a是一个列表,re.compile()需要一个字符串。变量名i通常只用于整数,例如ch用于字符(如果要使用短变量名,则应遵守惯例:-)
a
re.compile()
i
ch
也许是这样的:
usertext = raw_input("Enter string of length 7 to generate your scrabble helper: ") lst = [] for ch in usertext: lst.append(ch) print(lst) scrabble_re = re.compile(''.join(lst))
或者是同等的,但要短得多:
是吗?在
听起来你对查找两个字符串之间的字符重叠更感兴趣:
x = raw_input('enter string') y = 'aeiou' overlap = list(set(x) & set(y)) print(overlap)
这将打印x和y之间共享的字符。我不完全理解你想做什么,但是regex是高级编程中最容易被滥用的东西,你应该只在你真正需要它们的时候才使用它们。在
x
y
我不确定我是否完全理解您的需求,但也许这样做会有所帮助:
这应该匹配输入字符串中的每个字符,而不是整个字符串。您应该确保在用户输入中没有特殊字符,但这是另一个问题。在
a
是一个列表,re.compile()
需要一个字符串。变量名i
通常只用于整数,例如ch
用于字符(如果要使用短变量名,则应遵守惯例:-)也许是这样的:
或者是同等的,但要短得多:
^{pr2}$是吗?在
听起来你对查找两个字符串之间的字符重叠更感兴趣:
这将打印
x
和y
之间共享的字符。我不完全理解你想做什么,但是regex是高级编程中最容易被滥用的东西,你应该只在你真正需要它们的时候才使用它们。在相关问题 更多 >
编程相关推荐