2011-04-23 9 views
4

^名前を試しました&これはうまくいきませんでしたが、この文字列の中で名前を見つけることはできますか?( "hello-my-name-is"Regexが文字列の真ん中で何かを見つける

+4

は基本を学ぶためにhttp://regular-expressions.info/をチェックしてください。あなたの実際の問題を解決するためには、文脈を詳述し、実際のデータ/入力とあなたが得たいものを表示する必要があります。 – mario

+1

いくつかのコードを表示できますか? –

答えて

2

/.name./ 2点がそれぞれの側に少なくとも一つの文字があることを、示している

+1

古い質問ですが、一つ以上の文字にマッチする '。+'であってはなりませんか? – roland

0

/name/ここでうまく動作するようです

$str = "hello-my-name-is"; 
$str1 = preg_match("/name/", $str); 
echo $str . " => " . $str1; 

出力されている - 。。

サブリングが見つかったという意味で、1回出現しました。

+0

申し訳ありませんが、PHPのための何かのためのREGEXを使用する方法私は正規表現でそれを行うことはできますか? – AndyMaccarthur

+0

@AndyMaccartherあなたは 'php'であなたの質問にタグを付けました。 PHP用でない場合は、 'php'タグを削除したいかもしれません。 – Ben

+0

@AndyMaccarthur、Regexいくつかの言語で実装する必要があります。どこにでも書くことはできません。私の例はPHPを使用していることを示しています。他の言語でも動作します。 –

2

あなたが探しているものは/name/または/\bname\b/です。 \bは単語境界の指標です。詳細は、このドキュメントを参照してください:文字が文字列の先頭に検索アンカー^ので、文字列"hello-my-name-is"を検索するときにhttp://www.regular-expressions.info/wordboundaries.html

理由^name$はあなたに何も結果を与えるものではありません。同様に$は最後に検索を固定します。たとえば:

  • ^nameは、文字列が"name"例えばで開始した場合にのみ機能します"name is cool"
  • name$は、文字列が"name"で終了した場合にのみ機能します。アンカーについての詳細情報については"where is name"

このページを参照してください。http://www.regular-expressions.info/anchors.html

+0

'&'は文字列の最後ではありません - それには '$'が必要です。 –

+0

ああ、私の間違い。私はタイプミスを修正しました。ありがとう。 – Ben

+0

これのどれも私のためのものではありません – AndyMaccarthur

関連する問題