問題 以下のプログラムソースから、”function”を含まない行を空文字に置換して、”function ~~~”となっている行だけ残したい。「”function”を含まない行」は正規表現でどうやって書いたらよい? function test_func() { return 'test'; } /** * テストのソース */ function hogefuga_func() { echo 'hogefuga'; } 答え 正規表現って、マッチさせるのは考えやすいけど、「マッチしない」って難しいですね。 否定的前方先読みができるときは、これでどうでしょう。 ^((?!function).)*$ これで「”function”に続かない文字が、行頭から行末まで続く文字列」にマッチする。 否定的前方先読みができないときは、「○○○を含む」にマッチするかどうかの判定をしてその結果を反転して扱うのが
![【正規表現】「○○○を含まない」行にマッチする正規表現 at softelメモ](https://cdn-ak-scissors.b.st-hatena.com/image/square/1547f4b97eb50bd09e99d5f897a6c447ee41f867/height=288;version=1;width=512/https%3A%2F%2Fwww.softel.co.jp%2Fblogs%2Ftech%2Ffb.png)