-2

この形式で2つのアルファベットと3桁の式を書きたいと思います。TT234

([A-Z]2+[0-9]+) 

上記は私が書いたものですが、エラーが発生しています。誰かコメントできますか?

問題を書き直してみましょう。基本的には、.htaccessに書き換えURLパラメータ制約を記述しています。

RewriteEngine On # Turn on the rewriting engine 
RewriteRule ^test/(home|member|admin)/([A-Z]{2}[0-9]{3})/(xml|json)$ localhost/username/index.php?type=$1&id=$2&format=$3 [L] 
RewriteRule ^test/.*$ localhost/username/error.php [L]

そして今xmlParseEntityRef: no name、正規表現をに変更した後、このエラーが発生します([A-Z]{2}[0-9]{3})が、パラメータは正しくチェックされます。

4

3 に答える 3

1

Your regex is matching for one uppercase ASCII letter, one or more "2" followed by at least one digit.

E.g.:

  • A2123456788990
  • Z20
  • If you want to specify exactly 2 letters, then you should not use the quantifier +, you can use {2}.

  • If you write a "2", then it matches a literal "2"

  • The same for the digits, if you want to match 3 digits, write a {3} instead of +

  • Depending on your flavour and the method you are calling you need also to Anchor your regex, otherwise you will get partial matches.

    You can do this either with ^ and $ for the start and the end of the string, when your text consists only of this string

    ^[A-Z]{2}[0-9]{3}$
    

    If you want to find this pattern in a larger string, then use Wordboundaries

    \b[A-Z]{2}[0-9]{3}\b
    
于 2013-02-17T16:35:46.700 に答える
1

正規表現にはさまざまな構文があります。POSIX ExpendedRegularExpresionsで必要なことを行う方法は次のとおりです。

[A-Z]{2}[0-9]{3}
于 2013-02-17T16:33:32.993 に答える
0

このようにしてみてください:

([A-Z]{2}[0-9]{3}) 
于 2013-02-17T16:33:40.710 に答える