これは見かけほど単純ではありません。ほとんどの人は、私がインターネットで見つけたような正規表現を考えていると思いますが/([A-Z])/_$1/
、私の特定の状況はもう少し複雑です。ソース文字列には、変換する部分の前に変換したくないコンテンツがさらに含まれています。
通常のセッターを考えてみましょう:
public function setUserId()
もちろん、このメソッドにはパラメーターがありません。おそらく私はこれらの方法の多くを持っています。その行をに変換したい
public function setUserId($user_id)
これは考えるのはかなり単純なことですが、深く考えるほど単純ではありません。このスレッドのAndreas_D に似ていますが、変数名を繰り返し変更しようとするという課題が追加されています...
おそらく、正規表現を使用すると明らかなことになるでしょうが、私はまだ正規表現に慣れていません。いずれにせよ、検索のどこにもこの問題に対する適切な解決策が見つかりません。
編集:もちろん、「公共の機能」にはそれを安全に保つ大文字がないことを私は認識しています。ただし、この検索と置換はコードのブロックに対して実行されるため、変更する文字列が「public function」で始まることを確認したいと考えています。