2016-08-10 12 views
0

は私が機能を持っていることができます。言い換えればにpreg_replaceは、特定の文字列

E-0が続いていない場合にのみ、E-0なくE-1またはEAまたはEを含む他の文字列を許可します。

機能を正しく変更するにはどうすればよいですか?

答えて

0

あなたが肯定先読みを使用する必要があります、ここでEにマッチする正規表現は、それが-0

/E(?=\-0)/ 

が続いている場合にのみである。また、この試してみてください。https://regex101.com/r/wC7pI4/1

更新1

この正規表現を試してください:/([\-0-9\.\,]*)(E-0)?([0-9]*)/ug

PHP関数preg_matchを使用して、配列内の一致結果を取得します。

この正規表現は入力をグループに分割します。マッチ結果を調べて入力が有効かどうかをさらに確認し、必要な部分を保持する必要があります。

+0

Thx Jason! - '/ E(?= \ - 0)/'をどこに挿入するのかわからないので、コードを完成してください。 – user2113177

+0

あなたの正規表現は何を達成しようとしていましたか? – Jason

+0

私は、 - と文字列 'E-0'を除いて、任意の文字から文字列を削除する必要があります(0-9なので)。 許可される:-1.23または-1.23E-05 -1.23Aまたは-1.23E-15 – user2113177

関連する問題