0

これを正規表現として書くにはどうすればよいですか?

「ブロック#123#456」

# 記号を使用してデータ内のパラメーターを分割しました。パラメーターはブロック名、開始 X 座標、開始 Y 座標です。

これは私の QR コードに埋め込まれたデータです。そのため、QR をスキャンするときに、スキャンしている QR が正しいかどうかを確認したいと考えています。そのためには、上記の構文の正規表現が必要です。

私のメソッド本体

public void Store_QR(String qr){
   if( qr.matches(regular Expression here)) {
      CurrentLocation = qr;
   }
   else // Break the operation
}
4

4 に答える 4

5

指定した情報は、正規表現を使用してもまったく正当化されません。

より一般的な方法でそれを試してみてください。

本当に「blocka#123#456」をスキャンする必要がある場合は、使用しますqr.contains("blocka#123#456");

于 2012-10-31T17:37:48.840 に答える
3

何を合わせたいかによります。

  1. いくつかの正規表現の命題を次に示します。

    ^blocka#[0-9]{3}#[0-9]{3}$
    ^blocka#[0-9]+#[0-9]+$
    ^blocka(#[0-9]{3}){2}$
    ^blocka(#[0-9]+){2}$
    ^blocka(#[0-9]{3})+$
    ^blocka(#[0-9]+)+$
    
  2. それ以外の場合は、contains()または類似のものを使用してください。

于 2012-10-31T17:37:44.793 に答える
1
于 2012-10-31T20:09:41.750 に答える
0

私は提案します:

[a-z]+#\d+#\d+

3 つの部分をキャプチャする場合は、次のようにします。

([a-z]+)#(\d+)#(\d+)

Matcher.group( 1, 2 or 3 )部品を返します

于 2012-10-31T17:44:58.350 に答える