2011-07-05 20 views
0

"#" charで囲まれたテキストと、< script>タグ内のすべてのテキストを検索します。 あなたはどうやってそれについて行きますか?例:Regex:特定の文字で、次に特定のタグで文字列を検索します。

awoie awiefaow <script type="javascript"> #bla#ff awa </script> fawe aaa#bla1# <script>awa #bla2# aa</script>ff 

正規表現では、#bla#と#bla2#だけが検索されます。

私のようなsomehtingを作ってみた:

(?i)(?s)((?<=&lt;script.&#42;?>.&#42;?)#.&#42;?#(?=.&#42;?&lt;/script.&#42;?>)) 

が、それはまた、#1 BLA1番号を返します。

この問題を解決するにはどうすればよいでしょうか?または、複数のファイルで高度なテキスト検索を行うための柔軟性があるのですか?

答えて

0

このC#の例では、検索ビヘイビアを使用しています。

string input [email protected]"awoie awiefaow <script type=""javascript""> #bla#ff awa </script> fawe aaa#bla1# <script>awa #bla2# aa #bla3# aa</script>ff"; 
string pattern = @"(?<=<script[^>]*>(?:(?!</script>)(?:[^#]|#(?:(?!</script>)[^#])*#))*#)([^#]*)"; 
MatchCollection matches = Regex.Matches (input, pattern, RegexOptions.IgnoreCase); 

収量:どうも

Match[0] => bla 
Match[1] => bla2 
Match[2] => bla3 
+0

おかげで、動作します:) – blaat

関連する問題