1

正規表現についてサポートが必要です。"testBla"、、などの単語が"Bla"ありtest"ます。から
切り取りたいです。したがって、指定された文字列が4文字より大きい場合にのみ削除する必要があります。これは私が持っているものです:"test""testBla""test"

^test\w{4,}

しかし、それは機能しません。

何か案は?

4

3 に答える 3

2

test行頭に出現し、その後に単語文字が続く場合に削除する場合は、単語以外の境界を使用できます。

^test\B

オンラインで動作することを確認してください: rubular

test行の先頭に発生し、その後に任意の文字 (改行を除く) が続く場合に削除する場合は、先読みを使用できます。

^test(?=.)

オンラインで動作することを確認してください: rubular

于 2013-01-08T13:17:46.077 に答える
1

これは、単語の「テスト」部分のみをキャプチャします: \btest(?=\w{4,}). 長さの先読みがゼロの正規表現エンジンを使用していると仮定しています。

于 2013-01-08T13:21:19.253 に答える
0

JavaScriptを使用していると仮定して、これを試してください:

string.replace(/test([^]+)/i, "$1");

       'Bla'.replace(/test([^]+)/i, "$1"); // 'Bla'
      'test'.replace(/test([^]+)/i, "$1"); // 'test'
   'testBla'.replace(/test([^]+)/i, "$1"); // 'Bla'
   'blaTest'.replace(/test([^]+)/i, "$1"); // 'blaTest'
'blaTestbla'.replace(/test([^]+)/i, "$1"); // 'blaTestbla'

testこれは、文字列が で始まる場合にのみ、文字列に のみtestより多くの文字列がある場合にのみ、文字列から削除されますtesti正規表現の大文字と小文字を区別しないように追加しました。

于 2013-01-08T13:29:59.187 に答える