0

こんにちは、実行中のテキストで文/単語のグループを見つけるための正規表現ソリューションを探しています。文は、1 行または 2 行に折り返される場合があります。助けてください。

このテキストに対して実行すると、一致があります。

ケースはクローズされ、レポートが作成されました。

ただし、このテキストに対して実行すると、一致しません。

ケースは
クローズされ、レポート
が作成されました

私は次のことを試しました:

$t_pattern = "case has been closed";
preg_match($t_pattern, $var['subject'], $regs)

基本的に、メールの本文でチケットをクローズする文を検索しています。応答は、サポート チケット システムから送信されます。例 1 のように文全体が 1 行の場合は機能しますが、例 2 のような場合は失敗します。

4

2 に答える 2

1

その特定の文字列を検索するために正規表現を使用する理由はありません。

正規表現の置換を使用して改行 (およびその他の空白) を正規化し、単純な部分文字列検索を使用します。

$t_pattern = "case has been closed";
$subject = preg_replace('/\s+/', " ", $var['subject']);
strpos($subject, $t_pattern)
于 2013-01-30T14:21:01.717 に答える
0

あなたは大丈夫なはずです

$t_pattern = "/case\s+has\s+been\s+closed/";

\s+、改行を含む 1 つ以上の空白文字に一致します。

于 2013-01-30T17:41:37.907 に答える