1

私がしたいのは、ユーザーが「Torsion ? Group」、ワイルドカードとすべて (ワイルドカードは単語全体) などを入力できるようにすることで、見つかったかどうかに応じて true または false が返されます。では、\b*\b のようなものはありますか? Python のマニュアルによると、\bfoo\b は "foo." だけでなく "something foo something else" という形式の文字列にも一致します。私が抱えている問題は、私が見つけた別の例を簡単に変更しようとしているということです:

inputstring = 'What is a Torsion Abelian Group (TAB)?' 
str1 = "Abelian"
output = re.search("Torsion" + \bstr1\b + "Group", inputstring)
print output

ただし、出力は次のとおりです。

output = re.search("Torsion" + \bstr1\b + "Group", inputstring)
                                ^
SyntaxError: unexpected character after line continuation character

したがって、ワイルドカードは言うまでもなく、既知の文字列を見つけるのに苦労しています。いずれかについての考えは非常に高く評価されます。

ありがとう、

ブライアン

4

1 に答える 1

0

Python はあなたの 2 をどうするか分からず、 ではなく\bという名前の変数があると仮定します。と を分離し、正規表現構文を引用符で囲むか、それらを削除する必要があります。また、ここで再確認して、それが使用すべき構文であることを確認する 必要があります。\bstr1\bstr1\bstr1\b

output = re.search("Torsion " + str1 + " Group", inputstring)

またはクリーナー

output = re.search("Torsion %s Group" % str1, inputstring)

これは完全なコードです:

inputstring = 'What is a Torsion Abelian Group (TAB)?'
str1 = "Abelian"
output = re.search("Torsion %s Group" % str1, inputstring)
if output:
    print str(output.group(0))

そして、次の出力を返します。

Torsion Abelian Group
于 2013-04-07T21:22:40.680 に答える