dポイントプレゼントキャンペーン実施中!

javaという単語で検索するときjavascriptのjavaがマッチしてしまうのが煩わしいです。
正規表現で、javascriptという単語を含まず javaを含む行をマッチさせたい場合パターンはどのように書くものでしょうか?

A 回答 (3件)

>幅ゼロ?


>先読み?
(?!script)
の部分は、
javaに続くscriptが有る場合にマッチしないという意味です。
つまり
javaにはマッチしjavascriptにはマッチしないということになりますが
つまり、javaへのマッチを調べるために直接マッチする部分である(結果としてマッチする部分になる)javaだけでなくその後続する部分を読むということで、「先読み」すると言います。
また、この部分は、マッチする部分には当たらないので、通常の正規表現とは違ってマッチする部分ではないつまりこの部分は「幅ゼロ」(否定された部分がマッチした部分にはならない)という意味です。
    • good
    • 2
この回答へのお礼

(?!script)の使い方はわかりましたが、相変わらず 幅ゼロ 先読み の部分は意味が分からないままです。
しばらく時間を置いてからまた取り組んでみます。
どうもありがとうございました。

お礼日時:2005/08/06 12:32

java(?!script)

    • good
    • 1
この回答へのお礼

お蔭様で上手くいきました。ありがとうございます。

以下No.1へのお礼に同じです。

お礼日時:2005/08/01 11:20

.{0,}(java)(?!script).{0,}


でどうでしょう?
    • good
    • 0
この回答へのお礼

お蔭様で上手くいきました。ありがとうございます。

ところで、また疑問が?
javaのドキュメントで見ると
(?!X) X、幅ゼロの否定先読み
と説明されてますが、
幅ゼロ?
先読み?
が、他の(?<!X)などプログラムで実際に比較してみても全くつかめませんでした。
解説していただけるとうれしいです。

お礼日時:2005/08/01 11:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!