###正規表現を使った偶数、奇数番目の文字判定
pythonで文字列の奇数番目、偶数番目文字を判定した方法を共有します。
例えば
RDULULDURURLRDULRLR
このような文字列で奇数番目の文字にLが入っていないことを、また偶数番目の文字にRが入っていないことを確認したいです。
そこで今回は正規表現を使いました。
import re
string = input()
pattern = re.compile(r'^([^L][^R])*[^L]?$')
if pattern.match(string):
print('Yes')
else:
print('No')
re.compileとしておくと繰り返しそのパターンを探していく場合に高速になります。
上記の正規表現の意味は以下の通りです。
r:文字列の先頭に書いておくとバックスラッシュ等がエスケープされます
^:行の先頭を表す
[]:どれか1文字
:0回以上の繰り返し 例:ab 合致パターン: a,ab,abb,abbb,...
$:行の末尾