目的:より大きい文字列内の固定長文字列の一般化された正規表現を作成します。この文字列には指定したパディング文字が続き、整数カウンタが増加します。理想的には、「このグループの長さを10にして、1つのタイプの文字とそれに続く別の文字が含まれていてほしい」という言い方があります。特定の長さの正規表現のパディング付き
私は(数字は文字が記号かもしれない可能性があることができ)、可変データの中にこれに一致するようにしようとしています: パディング文字+数字が指定された長さまで追加、ここでこれらは、5
だろう許可されたパディング+番号の組み合わせここで
$$$$1
$$$12
$$123
$1234
は一例です:
<variable-data> <padding-characters> <numbers> <variable-data>
............... .................... ddddddddd ...............
(where periods are any characters and 'd' is any digit)
Example Data:
ABC $$$$ 1 [email protected]
Example Regex:
ABC\$*\d+\[email protected]
Match:
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
No Match:
[email protected]
[email protected]
私が試した何
:それはまだ次に一致するので、これは動作しません
ABC(?=.{5})\$*\d+\[email protected]
数字がのため10。私が試したもう一つは、それが非数字または非$に遭遇した後に探して停止することを目指してい
ABC(?=[\$\d]{5}[^\$\d])(\$*\d+)\[email protected]
だったが、文字列の次の部分は、$または数字で始めることができるので、それは便利ではありません。
(\$\$\$\$\d|\$\$\$\d\d|\$\$\d\d\d|\$\d\d\d\d|\d\d\d\d\d)
しかし、私は、これはより一般化するためにしようとしていますし、例えばパディングの可変量があることができます:
最も簡単な正規表現は、この問題を解決するには
$$$$$$$$$1
$$$$$$$$12
...
* variable-data *が数字で始まらないことを意味しますか? – revo
@revoのどれが実行時になるのかわかりません。それらはすべてユーザー定義です。彼らは確かに数字かもしれない。 –
このような入力文字列* ABC $$$$ 11!@ *の可能性はありますか? – revo