2017-11-07 14 views
0

私は正規表現を学ぶのがとても新しいです。私はどのように文字列の中の1つの単語にマッチするように量指定子を制御することができるかを理解しようとしてきました。私はそこに広大な資源があることを知っていますが、私は後に特定の用語を見つけるのは難しいです。正規表現を使って一致する単語

私が知りたいのは、下の文字列からHeという単語をどのようにマッチさせるかです。私もitを一致させる方法を知っていることができればそれが良いだろう(私は、任意の位置の単語のマッチング、意味):

He found it difficult. 

[a-zA-Z].*? --it's a silly try to match "He" 
+1

「\ s +」または「\ W +」で分割し、「ワード」をインデックスで取得します。 –

答えて

1

このスペースによって、あるいは囲まれた2文字の単語を見つけるの文は、2文字の単語で始まる場合、この場合は "彼"、それも発見されます。したがって、 "彼"と "それ"の両方が見つかります。

((..)|(^..)) 

EDIT - MORE DEPTHでは、説明

我々が使用する2つの文字の単語を検索します。 (ドット)の2つの文字のそれぞれのため、 ".."がありますが、これは任意の2文字を見つけるので、 ".."を検索するようにスペースを囲む必要があります。スペースでは、これが見つかります。今は新しい問題があります。文中の最初の2文字の単語には、その前にスペースがありません。それで見つけられないでしょう。したがって、| (または)同じ表現を検索するためにexrpressionに、この時点を除いて^で始まりのスペースを交換すると、文が2文字の単語で始まり、スペースで始まるかどうかを示すために、その単語も見つかるはずです。私たちはスペースで囲まれた2つの文字の単語を ".."見つけます。また、文頭に "^ .."が続き、スペースの後に "^。

EDIT - BETTER REGEX

も試合につながる「12」に並置としてこれが唯一、単語を検索しますので、より良い正規表現は(([a-z][a-z])|(^[a-z][a-z]))だろう。この正規表現は大文字小文字を無視して検索することを前提としています。そうでなければ正しく動作しません。

+0

是非!これは私が探していたものです。あなたはそれをどうやって説明するのは可能ですか?どうもありがとう。 – shayan

+0

私は自分の答えを編集してよりよく説明しようと思います。 –

+0

@shayan私は答えのより良い選択肢を追加しました。 –

関連する問題