我正在尝试对字符串进行一些验证。
Y0 40 98 86 A
我希望能够用O来替换前2个字符中出现的0
,即Y0
。
我知道如何进行替换部分,但我正在努力只选择第一个。
它应匹配前两个字符中的所有0。即00
0Z
等
为了澄清,我不介意我只需要帮助制作正则表达式选择器的语言
答案 0 :(得分:1)
感谢@Rawing的评论:
SELECT p.idPost, p.title, t.name from posts as p, tags as t, post2tags
WHERE t.idTags=post2tags.idTags
正则表达式意味着:
@SebastianProske的另一个变种:
"00 40 98 86 A".gsub(/^0|(?<=^.)0/, 'O')
# "OO 40 98 86 A"
这意味着:"A0 40 98 86 A".gsub(/(?<!..)0/, 'O')
# "AO 40 98 86 A"
。
这里是test。
可能更容易分两步完成。如果第一个字符是a 0, but only when not preceded by two characters
,则将其替换为O
,如果它是0
则替换第二个字符。
这是一个带有匹配组的ruby示例:
0
你也可以使用lookbehind:
"Y0 40 98 86 A".sub(/^0/,'O').sub(/^(.)0/,'\1O')
# "YO 40 98 86 A"