1

ISBN-10に使用する次の正規表現があります

^[0-9]{9}[[0-9]|X|x]$^

すべての数字で問題なく動作するようですが、文字が導入されると、代わりに文字が表示されます。たとえば、ISBN 047146158X は配列で X を返します。

誰かが私の表現を手伝ってくれますか?

これはデータがどのように見えるかです

startISBN 10-047146158X Author(s): Stephen R. Bolsover, Jeremy S. Hyams, Elizabeth A. Shephard, Hugh A. White, Claudia G. Wiedemann Publisher- Wiley 27 JAN 2004
4

2 に答える 2

2

また

[0-9]{9}([0-9]|X|x)

あるいは単に

[0-9]{9}[0-9Xx]

括弧はその[]中の単一の文字に一致します。それらをネストしても、あなたが望むことはできません。括弧()は、文字を使用してさまざまなオプションを区切ることができるグループを|示しますが、探しているのは 1 文字だけなので、すべてを括弧で囲むことができます。

^は「行の開始」を$意味し、「行の終了」を意味します。最初と最後にそれらがある場合、正規表現は入力に他に何もない場合にのみ一致します。

于 2012-06-03T09:15:56.477 に答える
1

このパターンを試してください

\b[0-9]{9}[0-9Xx]\b
于 2012-06-03T09:27:18.667 に答える