3

NOTEPAD++ の正規表現についてサポートが必要です。これはちょっと単純に思えます...うーん。

テキスト文字列を含む 4 列の xls ファイルがあります (1 列 = 1 言語)。このファイルから 1 行を NOTEPAD++ にコピーすると、すべての言語がタブで区切られた長い文字列が得られます。

Example:

This is a example. It's my first time here. Hello everybody. ... Last sentence. TAB Ésto es un ejemplo. Es la primera vez que busco respuesta aquí. Hola a todos. ... Última frase. TAB Substring_German01. Substring_German02. Substring_German03. ... Substring_GermanXX. TAB Substring_French01. Substring_French02. Substring_French03. ... Substring_FrenchXX.

NOTEPAD ++ で\t\nに置き換えると、次のようになります。

This is a example. It's my first time here. Hello everybody. ... Last sentence. 
Ésto es un ejemplo. Es la primera vez que busco respuesta aquí. Hola a todos. ... Última frase. 
Substring_German01. Substring_German02. Substring_German03. ... Substring_GermanXX. 
Substring_French01. Substring_French02. Substring_French03. ... Substring_FrenchXX.

正規表現を使用して特定の部分文字列を取得するにはどうすればよいですか???

必要な結果:

検索: REGEX SENTENCE 置換: \1

This is a example.
Ésto es un ejemplo.
Substring_German01.
Substring_French01.

検索: REGEX SENTENCE 置換: \2

It's my first time here. Hello everybody.
Es la primera vez que busco respuesta aquí.
Substring_German02.
Substring_French02.

検索: REGEX SENTENCE 置換: \3

Hello everybody.
Hola a todos.
Substring_German03.
Substring_French03.

ありがとう !

4

4 に答える 4

0

次の置換パターンを使用します。

(?:.*?\S[.!?]){0}\s*(.*?\S[.!?])(?:\s.*?TAB|(?!.*TAB)\s.*|\s*$)

(?:.*?\S[.!?]){1}\s*(.*?\S[.!?])(?:\s.*?TAB|(?!.*TAB)\s.*|\s*$)

(?:.*?\S[.!?]){2}\s*(.*?\S[.!?])(?:\s.*?TAB|(?!.*TAB)\s.*|\s*$)

(?:.*?\S[.!?]){3}\s*(.*?\S[.!?])(?:\s.*?TAB|(?!.*TAB)\s.*|\s*$)

...等。

...そして、各一致を次のように置き換えます \1\n

于 2012-06-28T14:31:57.557 に答える
0

これを試して:

([^ ][^. ]).*?\.

この正規表現検索を使用して、2 番目のテキスト ボックス (\t を \n に置き換えた後) にあるものを操作すると、部分文字列が正しく取得されます。

また、不要だと思われる「...」部分も回避されます。

于 2012-07-02T09:03:46.893 に答える
0

正規表現で括弧を使用(.*) (.*) ...して、それらにアクセスできます\1 \2 \n...

Hello Dude SomeFixedString How Are You

検索する(.*)SomeFixedString(.*)

と置換する\2 foooo \1

あなたにあげます

How Are You foooo Hello Dude

于 2012-06-28T12:46:18.667 に答える