我需要使用Matlab将用户输入作为字符串处理。我确切知道允许的字符串是什么样的,但我不知道如何使用正则表达式来检查有效的字符串。我想返回true
表示有效输入字符串,否则返回false
。
有效输入以字母s
或b
开头,后跟空格,然后包含1到20之间的数字。有效字符串的示例如下:
's 14'
'b 7'
'b 20'
无效字符串的示例如下:
's 24' % number too large
's14' % missing space
'x 13' % wrong letter
'b 111' % number too large / also 3 digits for the number, where only 1 to 2 are allowed.
我从这行代码开始,这似乎与解决方案很接近但不完全相同:
regexp('s 26', '[sb] [1-20]', 'match')
它没有用,因为它看到s 2
为正匹配,但实际上输入为s 26
无效。