求符合FEN记法规则的王车易位状态正则表达式
FEN王车易位状态校验正则表达式
针对FEN记法中王车易位状态的校验需求(必须按KQkq顺序记录,可省略任意字符,空状态用-表示),提供以下符合要求的正则表达式:
嵌入大正则的版本(无锚点)
-|K?Q?k?q
单独校验易位字符串的版本(含锚点)
如果需要单独验证易位状态字符串的合法性,需添加首尾锚点确保整个字符串符合规则:
^(-|K?Q?k?q)$
规则说明
- 该正则严格遵循FEN规范:要么匹配表示无任何易位权限的
-,要么匹配按K(白方王翼)→Q(白方后翼)→k(黑方王翼)→q(黑方后翼)顺序出现、无重复字符、可任意省略的组合 - 完全避免了重复字符和乱序的非法情况,也无需枚举所有16种合法组合
- 在Swift/Xcode 14环境中,使用
NSRegularExpression即可直接使用,无需额外转义处理
内容的提问来源于stack exchange,提问作者adazacom
相关产品推荐
相关产品推荐

