我想使用正则表达式检查我的字符串是否具有以下格式:
mc_834faisd88979asdfas8897asff8790ds_oa_ids
mc_834fappsd58979asdfas8897asdf879ds_oa_ids
mc_834faispd8fs9asaas4897asdsaf879ds_oa_ids
mc_834faisd8dfa979asdfaspo97asf879ds_dv_ids
mc_834faisd111979asdfas88mp7asf879ds_dv_ids
mc_834fais00979asdfas8897asf87ggg9ds_dv_ids
格式类似于mc_<random string>_oa_ids
或mc_<random string>_dv_ids
。如何检查我的字符串是否采用这两种格式中的任何一种?请解释正则表达式。谢谢。
这是以mc_
开头的字符串,以_oa_ids
或dv_ids
结尾,中间有一些随机字符串。
P.S。随机字符串由alpha-beta字母和数字组成。
我尝试了什么(我不知道如何检查随机字符串):
/^mc_834faisd88979asdfas8897asff8790ds$_os_ids/
答案 0 :(得分:5)
试试这个。
^mc_[0-9a-z]+_(dv|oa)_ids$
^ matches at the start of the line the regex pattern is applied to.
[0-9a-z] matces alphabetic and numeric chars.
+ means that there should be one or more chars in this set
(dv|oa) matches dv or oa
$ matches at the end of the string the regex pattern is applied to.
also matches before the very last line break if the string ends with a line break.
答案 1 :(得分:0)
尝试/\Amc_\w*_(oa|dv)_ids\z/
。 \A
是字符串的开头,\z
结尾。 \w*
是一个或多个字母,数字和下划线,(oa|dv)
是oa
或dv
。
测试Ruby Regexps的一种简单方法是Rubular,可能会看一下。
答案 2 :(得分:0)