0

著者が作成した引用をテキスト ファイルで検索し、それらを印刷する方法を探しています。これまでの私のスクリプト:

import re

    #searches end of string 
    print re.search('"$', 'i am searching for quotes"')

    #searches start of string 
    print re.search('^"' , '"i am searching for quotes"')

やりたいこと

import re

## load text file
quotelist = open('A.txt','r').read()

## search for strings contained with quotation marks
re.search ("-", quotelist)

## Store in list or Dict
Dict = quotelist

## Print quotes 
print Dict

私も試しました

import re

buffer = open('bbc.txt','r').read()

quotes = re.findall(r'.*"[^"].*".*', buffer)
for quote in quotes:
  print quote

# Add quotes to list

 l = []
    for quote in quotes:
    print quote
    l.append(quote)
4

2 に答える 2

4

引用符で囲まれた文字列内に表示されると予想されるすべての予想文字に一致する正規表現を作成します。次に、Pythonメソッドfindallを使用しreて、一致するすべてのオカレンスを検索します。

import re

buffer = open('file.txt','r').read()

quotes = re.findall(r'"[^"]*"',buffer)
for quote in quotes:
  print quote

「と」の間を検索するには、次のようなUnicode正規表現検索が必要です。

quotes = re.findall(ur'"[^\u201d]*\u201d',buffer)

また、引用の終了に「と」を同じ意味で使用するドキュメントの場合

quotes = re.findall(ur'"[^"^\u201d]*["\u201d]', buffer)
于 2012-05-08T15:58:25.370 に答える
-3

静的文字列を見つけるのに正規表現は必要ありません。文字列を見つけるには、次の Python イディオムを使用する必要があります。

>>> haystack = 'this is the string to search!'
>>> needle = '!'
>>> if needle in haystack:
       print 'Found', needle

リストの作成はとても簡単です -

>>> matches = []

マッチの収納もラクラク…

>>> matches.append('add this string to matches')

始めるにはこれで十分です。幸運を!

以下のコメントに対処するための補遺...

l = []
for quote in matches:
    print quote
    l.append(quote)
于 2012-05-08T15:56:31.953 に答える