akn*_*akn 3 regex dataframe pyspark
我的数据框中有一个以下格式的字符串。
abc.T01.xyz
abc.def.T01.xyz
abc.def.ghi.xyz
Run Code Online (Sandbox Code Playgroud)
我需要过滤该字符串具有与该表达式匹配的值的行。
[a-zA-Z].T[0-9].[a-zA-Z]
Run Code Online (Sandbox Code Playgroud)
我使用了以下命令,但它也给了我看起来像这样的字符串:[a-zA-Z].[a-zA-Z].T[0-9].[a-zA-Z]我不希望出现在结果中。
mydf2 = mydf1.where('col1 rlike ".*\.T.*\..*"')
mydf2.show()
Run Code Online (Sandbox Code Playgroud)
我的正则表达式中缺少一些东西。
只需翻译您的要求,而不是使用点星汤并添加锚点:
# [a-zA-Z].T[0-9].[a-zA-Z]
mydf2 = mydf1.where('col1 rlike "^[a-zA-Z.]+\.T[0-9]+\.[a-zA-Z.]+$"')
Run Code Online (Sandbox Code Playgroud)
请参阅regex101.com 上的演示。
请注意,我还将点添加到字符类中(这是一个要求吗?),否则您的第二个字符串将无法匹配。如果这不是您想要的,请将其从类中删除。
| 归档时间: |
|
| 查看次数: |
16404 次 |
| 最近记录: |