我正在使用一些RegEx来匹配我在文档中的所有合并代码。
合并代码是这样的。
$tables
等
我已经做了一个非常简单的正则表达式
##customer.name
##customer.eployee.address
这可以帮助我匹配所有情况,因为它使用空格作为“定界符”,并且适用于以下三个示例:
\S*##\S*
但不是这些:
1
##customer.name ##customer.address
2
##customer.name ##customer.address
3
##customer.name ##customer.address
我知道我必须在遇到新的##时重新开始,但是我一直在尝试的所有事情似乎都没有用。
在搜索后尝试了此方法,但没有成功:(
1
##customer.name##customer.address
2
##customer.name,##customer.address
3
##customer.name--##customer.address
任何建议将不胜感激:)
谢谢
答案 0 :(得分:3)
您可以使用以下两种方法之一:
import csv
allitems = open("ALLITEMS.csv")
checkallitems = csv.reader(allitems)
playerinv = open("INVENTORY.csv", 'a')
checkinv = csv.reader(playerinv)
item = input("")
for x in checkallitems:
if item in x: # Check if the item is in the current list
playerinv.write(item +"\n")
allitems.close()
playerinv.close()
请参见regex demo #1和regex demo #2。
详细信息
##[^#\s]+\b
##\w+(?:\.\w+)*
-匹配##
子字符串##
-除[^#\s]+\b
和空格以外的任意1个以上的字符,应尽可能多,但应在最右边的单词边界处停止#
-匹配1+个字母/数字/下划线,然后匹配任意0个或多个\w+(?:\.\w+)*
和1+个字母/数字/下划线的序列。答案 1 :(得分:0)