我有以下正则表达式用于 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
[0-9]{9}([0-9]|X|x)
或者只是
[0-9]{9}[0-9Xx]
[]
括号匹配其中的单个字符,嵌套它们不会执行您想要的效果。 括号()
标记一个组,您可以在其中使用|
字符来分隔不同的选项,但是由于您只查找一个字符,因此您可以将所有内容放在括号中。
^
表示"行首",$
表示"行尾" - 如果您在开头和末尾都有它们,则正则表达式仅在输入中没有其他内容时才匹配。
试试这个模式
'b[0-9]{9}[0-9Xx]'b