発音のある単語があります。とにかく、最初の単語だけを抽出することに興味があります
A AH0
A'S EY1 Z
A(2) EY1
A. EY1
A.'S EY1 Z
A.S EY1 Z
A42128 EY1 F AO1 R T UW1 W AH1 N T UW1 EY1 T
AAA T R IH2 P AH0 L EY1
AABERG AA1 B ER0 G
AACHEN AA1 K AH0 N
AAKER AA1 K ER0
AALSETH AA1 L S EH0 TH
AAMODT AA1 M AH0 T
AANCOR AA1 N K AO2 R
AARDEMA AA0 R D EH1 M AH0
私は試したregex= r"(\A[A-Z]+\b) | (\A[A-Z\'w]+\b)"
\A : 文字列の先頭のみに一致します。
I still dont get the regex.
I have few conditions:
1. No starting whitespace - can be \s
2. (\A[A-Z\'w]+\b) in this:
\b : 再びhttp://docs.python.org/2/library/re.htmlから。これは、英数字と非英数字の境界のように機能していると思いました。
What is happening is these are being collected:
('A', ' ')
('A', ' ', 'B', 'E', 'G', 'R') is actually AABERG
('A', ' ', 'C', 'E', 'H', 'N') AACHEN
('A', ' ', 'C', 'O', 'N', 'R')
('A', ' ', 'D', 'M', 'O', 'T')
('A', ' ', 'E', 'D', 'M', 'R')
('A', ' ', 'E', 'H', 'L', 'S', 'T')
('A', ' ', 'K', 'R', 'E') AAKER
私はそれらをタプルのリスト (タプル内の個々の文字としての 1 つの単語) として収集しています。問題は、繰り返し文字 A がここで複数回繰り返されると、「A」が含まれず、代わりに ' ' 空の空白が追加されることがわかります。何が起こっている?ここで最初の開始単語のみを抽出したいので、not A(2) or whitespaces or (,),[,] or any other symbolic character except for "'\'"
[AZ\'w] を追加することを考えました
また、誰かが複数の条件を追加する方法を教えてくれるなら、言ってみましょう
regex= r"(\A[A-Z]+\b) | (\A[A-Z\'w]+\b) | ^\A[A-Z]+\b"
これは抽出で ^\A[AZ]+\b" または ^\A[AZ]+\s" の方が優れていますか? 私は混乱しています。
アップデート
私も何かが欲しいなら
;Semi-colon
A.S
.Dot
動作r'[^\SA-Z\\]+
しますか?これ'\\'
は、以下の Inbar Rose のソリューションから取得したものです。それが何をするのかまだ解明中