我有一个句子,其中每个标记都有一个/
。我想在斜线前打印我所拥有的东西。
我现在拥有的是基本的:
text = less/RBR.....
return re.findall(r'\b(\S+)\b', text)
这显然只是打印文本,如何在/
之前切断单词?
答案 0 :(得分:1)
简单直接:
rx = r'^[^/]+'
# anchor it to the beginning
# the class says: match everything not a forward slash as many times as possible
在Python
中,这将是:
import re
text = "less/RBR....."
print re.match(r'[^/]+', text)
由于这是一个对象,你可能喜欢将它打印出来,如下:
print re.match(r'[^/]+', text).group(0)
# less
答案 1 :(得分:1)
这也应该有用
\b([^\s/]+)(?=/)\b
Python代码
p = re.compile(r'\b([^\s/]+)(?=/)\b')
test_str = "less/RBR/...."
print(re.findall(p, test_str))
<强> Ideone Demo 强>
答案 2 :(得分:1)
假设您希望斜杠之前的所有字符都包含斜杠。这意味着,例如对于输入字符串match/this but nothing here but another/one
,您需要结果match
和another
。
import re
result = re.findall(r"\b(\w*?)/\w*?\b", my_string)
print(result)
result = [word.split("/")[0] for word in my_string.split()]
print(result)