1

1つのグループを0個以上、別のグループを0個以上許可する正規表現を作成するにはどうすればよいですか?ただし、2つのグループの少なくとも1つが存在する必要があります。

具体的には、参照のようなスプレッドシートを取得したいので、A1:B5(領域全体)、A:A(列全体)、または5:5(行全体)を取得する必要があります。

私は最初に試しました

[A-Za-z]*[\d]*:[A-Za-z]*[\d]*

ただし、:またはB6:と入力するだけでもその基準を満たすため、これでは不十分です。

どんな助けでもいただければ幸いです。

4

2 に答える 2

2

あなたはグループ化でこれを行うことができます...

/((how)|(now))+/

セル参照ではなく範囲を一致させたい場合は、その方法を列挙するだけです。

([A-Z]:[A-Z])|(\d+:\d+)|([A-Z]\d+:[A-Z]\d+)
于 2012-04-23T00:42:38.647 に答える
1

1つの方法は、明示的な変更です。

(?:[a-zA-Z]+|\d+|[a-zA-Z]+\d+):(?:[a-zA-Z]+|\d+|[a-zA-Z]+\d+)

ただし、エンジンがルックビハインドをサポートしている場合は、次のように使用できます。

(?>[a-zA-Z]*\d*(?<=.)):(?>[a-zA-Z]*\d*)(?<=.))

これは、「0個以上の文字と、それに続く0個以上の数字で、少なくとも1文字(。)で終わる必要があります。これにより、空にならないことが保証されます。アトミックグループ化とは、後読みが前に来たものと一致(?>...)しないことを意味します。(?<=.)その点。

于 2012-04-23T00:48:35.133 に答える