希望使用python在regex中包含特定字符吗

2024-05-06 23:18:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从用户那里获取输入,并希望编译由每个字符组成的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)

但这失败了!!!!在

^{pr2}$

Tags: ofto字符串用户inputyour参数string
3条回答

我不确定我是否完全理解您的需求,但也许这样做会有所帮助:

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用于字符(如果要使用短变量名,则应遵守惯例:-)

也许是这样的:

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))

或者是同等的,但要短得多:

^{pr2}$

是吗?在

听起来你对查找两个字符串之间的字符重叠更感兴趣:

x = raw_input('enter string')
y = 'aeiou'

overlap = list(set(x) & set(y))

print(overlap)

这将打印xy之间共享的字符。我不完全理解你想做什么,但是regex是高级编程中最容易被滥用的东西,你应该只在你真正需要它们的时候才使用它们。在

相关问题 更多 >