2

行頭に特定の単語を含まない行のみを計算する正規表現を作成しようとしています。私の場合は「deamon:」です。

My regex: (?!d)(?!e)(?!a)(?!m)(?!o)(?!n)(?!:).*\n

しかし、これは「deamon:」の後ろの残りの行にも一致します。これは私が望んでいないことです。

入力:

deamon: parsing arguments...
deamon: parsing xml file...
deamon: creating xml file for demo...
deamon: executing demo
parsing arguments...
path to xml: /home/www/www/seg-chapter/tests/users/1/launches/60/demo.xml
parsing xml file...

マッチ:

parsing arguments...
parsing xml file...
creating xml file for demo...
executing demo
parsing arguments...
path to xml: /home/www/www/seg-chapter/tests/users/1/launches/60/demo.xml
parsing xml file...

私が欲しいのは:

parsing arguments...
path to xml: /home/www/www/seg-chapter/tests/users/1/launches/60/demo.xml
parsing xml file...

行頭に「deamon:」がない行のみを一致させる方法を知っている人はいますか?

4

1 に答える 1

3
str.match( /^(?!deamon:).*/mg )

複数行フラグは、文字列の先頭だけでなく、各行の先頭に一致することをm意味します。は、行が で始まる場合に一致を防止する否定的な先読みです。^
(?!deamon:)deamon:

于 2013-02-22T11:57:24.220 に答える