1

フレーズが複数の行にまたがるたびに、「このプログラムを実行できません」というパターンの一致に問題があります。たとえば、次のようになります。

This program cannot be run

T
his program cannot be run

Thi
s program cannot be run

.
.

This pr
ogram cannot be run

パターンは、任意のポイントで 2 つの線に分割できます。/m と /s およびアンカーと境界を使用してみましたが、機能しません。私は自分が間違っていることについて途方に暮れています。すべての文字の後に \s を使用してみましたが、それでも一致しません! パターンは PCRE 形式にする必要があります。

4

3 に答える 3

0

だからそれは恐ろしく見えます、そしておそらく誰かがより良い解決策を提供できるでしょう、ここでは re.S フラグを使用してpythonにあります

>>> a = """
... This pr
... ogram cannot be run"""
>>> re.search("T[\n]*h[\n]*i[\n]*s[\n]* [\n]*p[\n]*r[\n]*o[\n]*",a,re.S)
<_sre.SRE_Match object at 0x7f9d746e9e68>

文字列が変更された場合に正規表現を作成する簡単な方法

>>> a = "This program cannot be run"
>>> b = list(a)
>>> r = '[\r\n]*'.join(b)
于 2013-04-19T18:25:51.690 に答える