python正規表現を使用して一致する内容を調べる:re.search
3612 ワード
次のようにフォーマットされたShaderファイルがあるとします.
正規表現でXXXX_をShaderNameが見つけた
2つのShaderファイルがあるとします
一致出力の結果は
常用正規表現
中国語にマッチ
空白行の照合
Emailに一致
URLの照合
18ビットのIDを照合
Shader "XXXX_ShaderName"
{
}
正規表現でXXXX_をShaderNameが見つけた
import os
import re
for f in os.listdir('.'):
if f.endswith('.shader'):
# utr-8 gbk
with open(f, 'r', encoding='utf-8') as fr:
try:
text = fr.read()
except:
with open(f, 'r', encoding='gbk') as fr:
text = fr.read()
# re.search
match = re.search('Shader.*"(.*)"', text)
print(match.group(1))
2つのShaderファイルがあるとします
Shader "XG/Particle"
{
}
Shader "LXF/GlowAdditiveColor"
{
}
一致出力の結果は
"XG/Particle"
"LXF/GlowAdditiveColor"
常用正規表現
中国語にマッチ
[\u4e00-\u9fa5]
空白行の照合
\s*\r
Emailに一致
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
URLの照合
https?://[^\s]*
18ビットのIDを照合
^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$