私は特定のパターンの文字列を検索しています。パターンの文字列を検索するにはどうすればよいですか?
$string = "Monday: 08.00-18.00";
$pattern = "xx.xx-xx.xx";
"X"、 "0" とすることができる "1"、 "2"、 "3"、 "4"、 "5"、 "6"、 "7"、 "8" または " 9 "となる。 " - "は " - "でなければなりません。 "。"になり得る "。"または ":"。
これには方法がありますか?
私は特定のパターンの文字列を検索しています。パターンの文字列を検索するにはどうすればよいですか?
$string = "Monday: 08.00-18.00";
$pattern = "xx.xx-xx.xx";
"X"、 "0" とすることができる "1"、 "2"、 "3"、 "4"、 "5"、 "6"、 "7"、 "8" または " 9 "となる。 " - "は " - "でなければなりません。 "。"になり得る "。"または ":"。
これには方法がありますか?
あなたは
$string = "Monday: 08.00-18.00";
$pattern = "/[0-9]{2}[:|\.][0-9]{2}[-][0-9]{2}[:|\.][0-9]{2}/";
if(preg_match($pattern,$string,$matches))
{
// has the pattern, do something
//$matches has all the matches from preg_match
echo $matches[0]; // prints the matched pattern
}
Thx!しかし、それは動作していないようです。この関数はfalseを返します。 MichaelRushtonsの例と同じです。 – Michael
もう一度やり直してください。 preg_matchに$ matchesを追加するのを忘れてしまい、パターンが[:|。]で間違っていました。私はそれを試して働いた。 MichaelRushtonパターンの問題は、[:。]に( "|"または ")を持たないということです。 "^"は文字列がそこで始まり、 "$"が文字列の終わりであることを意味します。だから、彼のパターンはまさにそのような文字列(08.00-18.00)を探していますが、あなたの場合は、最初に(「月曜日:」など)、最後に何かを持つことができます。 –
優秀!完璧に動作します – Michael
preg_matchを使用してください。
xを[0-9]
に置き換えてください。
。 [.:]
となります。
'(。:)の' .'は、( 's'修飾子がセットされていない限り)改行を除くすべての文字にマッチします。 – MichaelRushton
Okey!私はPCREパターンが初めてですが。私はそのような機能の例を非常に感謝しています。 – Michael
@MichaelRushton:気づいてくれてありがとう。私はそれを修正しました:) –
のようにこれはあなたが必要なものであるべき何かをしたい:
preg_match('/^[0-9]{2}[:.][0-9]{2}-[0-9]{2}[:.][0-9]{2}$/D', $string)
はあなたがregexpressionsを見たことがありますか? – BugFinder
正規表現 –