国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
Excel VBA regex関數(shù)は、弦を抽出します
regexpextry構(gòu)文
regexpextractについて知っておくべき4つのこと
文字列から數(shù)値を抽出するための正規(guī)表現(xiàn)
最初の番號(hào)を抽出します
最後の番號(hào)を取得します
すべての一致を抽出するための正規(guī)表現(xiàn)
Excel 365およびExcel 2021
Excel 2019以降
すべての一致を1つのセルに抽出します
文字列からテキストを抽出するための正規(guī)表現(xiàn)
Regexは、文字列からメールアドレスを抽出します
電子メールからドメインを抽出するための正規(guī)表現(xiàn)
電話番號(hào)を抽出するための正規(guī)表現(xiàn)
文字列から日付を抽出するための正規(guī)表現(xiàn)
文字列から時(shí)間を抽出するための正規(guī)表現(xiàn)
Excelでテキストを抽出するカスタム.NETベースの正規(guī)表現(xiàn)関數(shù)
正規(guī)表現(xiàn)を使用してExcelで文字列を抽出する方法
ablebitregexextract構(gòu)文
使用法
2つの文字間で文字列を抽出するための正規(guī)表現(xiàn)
すべての試合を取得する方法
2つの文字列の間にテキストを抽出するための正規(guī)表現(xiàn)
REGEXは、URLからドメインを抽出します
利用可能なダウンロード
ホームページ トピック excel Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

Mar 28, 2025 pm 12:19 PM

このチュートリアルでは、Excelで正規(guī)表現(xiàn)を使用して、特定のパターンに一致するサブストリングを見(jiàn)つけて抽出する方法を?qū)Wびます。

Microsoft Excelは、セルからテキストを抽出するための多くの機(jī)能を提供します。これらの機(jī)能は、ワークシートの文字列抽出の課題のほとんどに対処できます。すべてではありませんが、ほとんどです。テキスト機(jī)能がつまずくと、定期的な表現(xiàn)が救助されます。待ってください…Excelには正規(guī)表現(xiàn)機(jī)能がありません!確かに、組み込み関數(shù)はありません。しかし、あなたがあなた自身のものを使うことを妨げるものは何もありません:)

Excel VBA regex関數(shù)は、弦を抽出します

Excelにカスタム正規(guī)表現(xiàn)抽出機(jī)能を追加するには、VBAエディターに次のコードを貼り付けます。 VBAで正規(guī)表現(xiàn)を有効にするために、組み込みのMicrosoft Regexpオブジェクトを使用しています。このコードは、ExcelスペシャリストのAlex Frolovによって書(shū)かれています。

public function regexpextract(文字列、文字列としてのパターン、オプションのinstance_num as integer = 0 、 optional match_case as boolean = true dim matches_index as integer as integer as enter goto regexpextract = " Regex.Multiline = true if if true = match_case then regex.ignorecase = false else regex.ignorecase = true end if set matches = regex.execute(text) if (0 = instance_num) then redim text_matches(matches.count -1、0 for matedex_index = 0 text_matches(matches_index、0)= matches.item(matches_index) next matches_index regexpextract = text_matches else regexpextract = matches.item(instance_num -1) end if end if end if ext if ext if ext if ext errhandl :regexpextract = cverr(xlerralue)エンド機(jī)能

VBAの経験がほとんどない場(chǎng)合、ステップバイステップのユーザーガイドが役立つことが証明される場(chǎng)合があります:ExcelにVBAコードを挿入する方法。

注記。機(jī)能が機(jī)能するには、ファイルをマクロ対応のワークブック(.xlsm)として保存してください。

regexpextry構(gòu)文

regexpextract関數(shù)は、正規(guī)表現(xiàn)に一致する値に対して入力文字列を検索し、1つまたはすべての一致を抽出します。

関數(shù)には次の構(gòu)文があります。

regexpextract(テキスト、パターン、[instance_num]、[match_case])

どこ:

  • テキスト(必須) - 検索するテキスト文字列。
  • パターン(必須) - 一致する正規(guī)表現(xiàn)。式に直接供給する場(chǎng)合、パターンは二重引用符で囲まれている必要があります。
  • instance_num (オプション) - 抽出するインスタンスを示すシリアル番號(hào)。省略した場(chǎng)合、見(jiàn)つかったすべてのマッチ(デフォルト)を返します。
  • match_case (オプション) - テキストケースを一致させるか無(wú)視するかを定義します。 trueまたは省略(デフォルト)の場(chǎng)合、ケースに敏感なマッチングが実行されます。 falseの場(chǎng)合 - ケース非感受性。

この関數(shù)は、Excel 365、Excel 2021、Excel 2019、Excel 2016、Excel 2013、Excel 2010のすべてのバージョンで機(jī)能します。

regexpextractについて知っておくべき4つのこと

Excelで機(jī)能を効果的に使用するには、注意する必要があるいくつかの重要なことがあります。

  1. デフォルトでは、この例に示すように、関數(shù)は見(jiàn)つかったすべての一致を隣接するセルに戻します。特定の発生を取得するには、 instance_num引數(shù)に対応する數(shù)値を提供します。
  2. デフォルトでは、関數(shù)は癥例に敏感です。ケースと感受性のマッチングの場(chǎng)合、 match_case引數(shù)をfalseに設(shè)定します。 VBAの制限のため、ケースに依存しないコンストラクト(?i)は機(jī)能しません。
  3. 有効なパターンが見(jiàn)つからない場(chǎng)合、関數(shù)は何も返しません(空の文字列)。
  4. パターンが無(wú)効である場(chǎng)合、#value!エラーが発生します。

ワークシートでこのカスタム関數(shù)の使用を開(kāi)始する前に、それが何ができるかを理解する必要がありますよね?以下の例では、いくつかの一般的なユースケースをカバーし、動(dòng)的アレイExcel(Microsoft 365およびExcel 2021)と従來(lái)のExcel(2019以降のバージョン)で動(dòng)作が異なる理由を説明します。

注記。 Out Regexの例は、妖精のシンプルなデータセット用に書(shū)かれています。彼らがあなたの本當(dāng)のワークシートで完璧に機(jī)能することを保証することはできません。 Regexの経験がある人は、正規(guī)表現(xiàn)を書(shū)くことは完璧への終わりのない道であることに同意するでしょう。ほとんどの場(chǎng)合、よりエレガントになるか、より広い範(fàn)囲の入力データを処理できるようにする方法があります。

文字列から數(shù)値を抽出するための正規(guī)表現(xiàn)

「単純なものから複雑なものへ」を教えることの基本的な格言に続いて、非常に明白なケースから始めます:文字列から數(shù)を抽出します。

最初に決定するのは、取得する數(shù)値です。最初、最後、特定の発生、またはすべての數(shù)値です。

最初の番號(hào)を抽出します

これは、正規(guī)表現(xiàn)が得られるのと同じくらい簡(jiǎn)単です。 \ dが0から9までの桁を意味し、1回以上を意味することを考えると、私たちの正規(guī)表現(xiàn)は次の形式を取ります。

パターン:\ d

instance_numを1に設(shè)定すると、目的の結(jié)果が得られます。

=RegExpExtract(A5, "\d ", 1)

ここで、A5は元の文字列です。

便利なため、事前定義されたセル($ 2)にパターンを入力し、$サインでアドレスをロックできます。

=RegExpExtract(A5, $A$2, 1)

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

最後の番號(hào)を取得します

文字列に最後の數(shù)値を抽出するには、次のパターンを次に示します。

パターン(\ d)(?!。*\ d)

人間の言語(yǔ)に翻訳されていると言います:他の數(shù)字が守られていない(どこにも、すぐにではない)數(shù)字を見(jiàn)つけます。これを表現(xiàn)するために、ネガティブルックヘッド(?!。*\ d)を使用しています。つまり、パターンの右側(cè)には、他の數(shù)の文字がそれ以前にあるかどうかに関係なく、他の數(shù)字(\ d)はないはずです。

=RegExpExtract(A5, "(\d )(?!.*\d)")

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

ヒント:

  • 特定の発生を取得するには、パターンに\ dを使用し、 emplicance_numに適切なシリアル番號(hào)を使用します。
  • すべての數(shù)値を抽出する式については、次の例で説明します。

すべての一致を抽出するための正規(guī)表現(xiàn)

例をもう少し押し上げて、1つだけでなく、文字列からすべての數(shù)値を取得したいとします。

覚えているように、抽出された一致の數(shù)は、オプションのinstance_num引數(shù)によって制御されます。デフォルトはすべて一致するので、このパラメーターを省略するだけではありません。

=RegExpExtract(A2, "\d ")

式は単一のセルに対して美しく機(jī)能しますが、動(dòng)作は動(dòng)的配列Excelおよび非ダイナミックバージョンでは異なります。

Excel 365およびExcel 2021

動(dòng)的配列のサポートにより、通常の式は、すべての計(jì)算結(jié)果を表示するために必要な數(shù)のセルに自動(dòng)的にこぼれます。 Excelに関しては、これはこぼれた範(fàn)囲と呼ばれます。

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

Excel 2019以降

ダイナミック以前のExcelでは、上記の式は1つの一致だけを返します。複數(shù)の一致を取得するには、アレイ式にする必要があります。このために、さまざまなセルを選択し、式を入力し、 CTRLシフトを押して入力して完了します。

このアプローチの欠點(diǎn)は、「エクストラセル」に表示される#n/aエラーの束です。殘念ながら、それについては何もできません(iferrorもIfnaもそれを修正することはできません)。

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

すべての一致を1つのセルに抽出します

データの列を処理する場(chǎng)合、上記のアプローチは明らかに機(jī)能しません。この場(chǎng)合、理想的なソリューションは、単一のセルですべての一致を返すことです。それを行うには、regexpextractの結(jié)果をTextJoin関數(shù)に提供し、あなたが好きな區(qū)切り文字でそれらを分離します。

=TEXTJOIN(", ", TRUE, RegExpExtract(A5, "\d "))

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

注記。 TextJoin関數(shù)はMicrosoft 365、Excel 2021、Excel 2019のExcelでのみ利用可能であるため、式は古いバージョンでは機(jī)能しません。

文字列からテキストを抽出するための正規(guī)表現(xiàn)

英數(shù)字の文字列からテキストを抽出することは、Excelで非常に挑戦的な作業(yè)です。正規(guī)表現(xiàn)では、パイと同じくらい簡(jiǎn)単になります。否定されたクラスを使用して、數(shù)字ではないすべてのものに一致させるだけです。

パターン:[^\ d]

個(gè)々のセル(流出範(fàn)囲)でサブストリングを取得するには、式は次のとおりです。

=RegExpExtract(A5, "[^\d] ")

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

すべての一致を1つのセルに出力するには、次のようにテキストジョインで再gexpextract関數(shù)をネストします。

=TEXTJOIN("", TRUE, RegExpExtract(A5, "[^\d] "))

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

Regexは、文字列からメールアドレスを抽出します

さまざまな情報(bào)を含む文字列から電子メールアドレスを引き出すには、メールアドレス構(gòu)造を複製する正規(guī)表現(xiàn)を書(shū)きます。

パターン:[\ w \。\ - ] @[a-za-z0-9 \。\ - ] \。[a-za-z] {2,24}

この正規(guī)表現(xiàn)を分解してください、ここに私たちが得るものがあります:

  • [\ w \。\ - ]は、1つ以上の英數(shù)字、アンダースコア、ドット、ハイフンを含むユーザー名です。
  • @シンボル
  • [a-za-z0-9 \。\ - ]は、大文字と小文字、數(shù)字、ハイフン、ドット(サブドメインの場(chǎng)合)で構(gòu)成されるドメイン名です。ここではアンダースコアが許可されていないため、文字、數(shù)字、またはアンダースコアに一致する\ Wの代わりに、3つの異なる文字セット(AZ AZや0-9など)が使用されます。
  • \。[a-za-z] {2,24}は、トップレベルのドメインです。ドットで構(gòu)成されていて、大文字と小文字が続きます。トップレベルのドメインのほとんどは3文字の長(zhǎng)さ(.com .org、.eduなど)ですが、理論的には2?24文字(最長(zhǎng)の登録TLD)を含めることができます。

文字列がA5にあり、A2のパターンであると仮定すると、電子メールアドレスを抽出する式は次のとおりです。

=RegExpExtract(A5, $A$2)

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

電子メールからドメインを抽出するための正規(guī)表現(xiàn)

電子メールドメインの抽出に関しては、最初に思い浮かぶのは、キャプチャグループを使用して @文字に直接続くテキストを見(jiàn)つけることです。

パターン: @([a-za-z0-9 \。\ - ] \。[a-za-z] {2,24})

regexp関數(shù)にそれを提供します:

=RegExpExtract(A5, "@([A-Za-z0-9\.\-] \.[A-Za-z]{2,24})")

そして、あなたはこの結(jié)果を得るでしょう:

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

古典的な正規(guī)表現(xiàn)を使用すると、キャプチャグループの外側(cè)は抽出に含まれていません。 VBA Regexの動(dòng)作が異なり、「@」をキャプチャする理由は誰(shuí)にもわかりません。それを取り除くために、結(jié)果から最初の文字を空の文字列に置き換えて削除できます。

=REPLACE(RegExpExtract(A5, "@([az\d][az\d\-\.]*\.[az]{2,})", 1, FALSE), 1, 1, "")

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

電話番號(hào)を抽出するための正規(guī)表現(xiàn)

電話番號(hào)はさまざまな方法で書(shū)くことができます。そのため、あらゆる狀況下で動(dòng)作するソリューションを思い付くことは次に不可能です。それにもかかわらず、データセットで使用されるすべての形式を書(shū)き留めて、それらを一致させることができます。

この例では、これらの形式のいずれかで電話番號(hào)を抽出する正規(guī)表現(xiàn)を作成します。

(123)345-6789

(123)345 6789

(123)3456789

123-345-6789

123.345.6789

123 345 6789

1233456789

パターン:\(?\ d {3} [ - \。\)]*\ d {3} [ - \。 ]?\ d {4} \ b

  • 最初の部分\(?\ d {3}は、ゼロまたは1つの開(kāi)く括弧と続いて3桁のd {3}を一致させます。
  • [ - \。 \)]*パーツとは、正方形の括弧內(nèi)のキャラクターが0回以上表示されることを意味します:ハイフン、期間、空間、または閉じた括弧。
  • 次に、再び3桁のd {3}に続いてハイフン、期間、または空間が続きます[ - \。 ]? 0または1時(shí)間が表示されます。
  • その後、4桁のグループがあります\ d {4}。
  • 最後に、私たちが探している電話番號(hào)が大きな數(shù)の一部ではないと定義する?yún)g語(yǔ)の境界\ bがあります。

完全なフォーミュラはこの形をとります:

=RegExpExtract(A5, "\(?\d{3}[-\. \)]*\d{3}[-\. ]?\d{4}\b")

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

上記の正規(guī)表現(xiàn)は、123)456 7899または(123 456 7899などのいくつかの偽陽(yáng)性結(jié)果を返す可能性があることに注意してください。以下のバージョンはこれらの問(wèn)題を修正します。ただし、この構(gòu)文は、古典的な正規(guī)表現(xiàn)ではなく、VBA Regexp関數(shù)でのみ機(jī)能します。

パターン:(\(\ d {3} \)| \ d {3})[ - \。 ]?\ d {3} [ - \。 ]?\ d {4} \ b

文字列から日付を抽出するための正規(guī)表現(xiàn)

日付を抽出するための正規(guī)表現(xiàn)は、日付が文字列內(nèi)に表示される形式によって異なります。例えば:

1/1/21または01/01/2021のような日付を抽出するには、regexは次のとおりです。

1桁または2桁のd {1,2}のグループを検索し、それに続いてスラッシュが続き、その後1桁または2桁の別のグループが続き、続いて4桁または2桁(\ d {4} | \ d {2})のグループが続きます。最初に4桁の年を探していることに注意してください。それを逆に書(shū)くと、最初の2桁のみがすべての年から選ばれます。これは、最初の條件が交互またはコンストラクトが一致した後、殘りの條件がチェックされないためです。

1-jan-21や01-jan-2021などの日付を取得するには、パターンは次のとおりです。

1桁または2桁のグループを検索し、その後にハイフンが続き、次に3つの大文字または小文字のグループが続き、その後にハイフンが続き、その後4桁または2桁のグループが続きます。

2つのパターンを組み合わせた後、次の正規(guī)表現(xiàn)を取得します。

パターン:\ b \ d {1,2} [\/ - ](\ d {1,2} | [a-za-z] {3})[\/ - ](\ d {4} | \ d {2})\ b

どこ:

  • 最初の部分は1桁または2桁です:\ d {1,2}
  • 2番目の部分は1桁または2桁または3文字です:(\ d {1,2} | [a-za-z] {3})
  • 3番目の部分は4桁または2桁のグループです:(\ d {4} | \ d {2})
  • デリミッターはフォワードスラッシュまたはハイフンのいずれかです:[\/ - ]
  • 単語(yǔ)の境界\ bが両側(cè)に配置され、日付は別の単語(yǔ)であり、大きな文字列の一部ではないことを明確にします。

以下の畫(huà)像でわかるように、日付を正常に引き出し、11/22/333などのサブストリングを除外します。ただし、誤検知の結(jié)果は引き続き返されます。私たちの場(chǎng)合、A9のサブストリング11-ABC-2222は、技術(shù)的に日付形式のDD-MMM-YYYYと一致するため、抽出されます。

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

誤検知を排除するために、[a-za-z] {3}パーツを3文字の月の略語(yǔ)の完全なリストに置き換えることができます。

パターン:\ b \ d {1,2} [\/ - ](\ d {1,2} |(jan | feb | mar | mar | apr | jun | Jul | 8月| sep | 10月| dec)[\/ - ](\ d {4} | \ d {2})\ b

文字ケースを無(wú)視するために、カスタム関數(shù)の最後の引數(shù)をfalseに設(shè)定します。

=RegExpExtract(A5, $A$2, 1, FALSE)

そして今回は、完璧な結(jié)果が得られます。

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

文字列から時(shí)間を抽出するための正規(guī)表現(xiàn)

HH:MMまたはHH:MM:SS形式で時(shí)間を取得するには、次の式が治療を行います。

パターン:\ b(0?[0-9] | 1 [0-2]):[0-5] \ d(:[0-5] \ d)?\ s?(am | pm)\ b | \ b([0-9] | [0-1] \ d | 2 [0-3]):[0-5] \ d(:[0-5] \ d)?

この正規(guī)表現(xiàn)を分解すると、2つの部分が分離されているのがわかります。これにより、またはロジックが可能になります。つまり、以下の式の1つに一致するサブストリングを検索します。

式1 :\ b(0?[0-9] | 1 [0-2]):[0-5] \ d(:[0-5] \ d)?\ s?(am | PM)\ b

AM/PMで時(shí)間を取得します。

時(shí)間は0から12までの任意の數(shù)字になります。それを取得するには、またはconstruct([0-9] | 1 [0-2])を使用します。

  • [0-9]は、0から9までの任意の數(shù)と一致します
  • 1 [0-2]は、10から12の任意の數(shù)と一致します

Minute [0-5] \ dは00から59までの任意の數(shù)です。

second (:[0-5] \ d)? 00から59までの任意の數(shù)もあります。秒數(shù)は、時(shí)間値に含まれている場(chǎng)合と含まれない場(chǎng)合があるため、ゼロまたは1回の発生を意味します。

式2 :\ b([0-9] | [0-1] \ d | 2 [0-3]):[0-5] \ d(:[0-5] \ d)?(?!:)

AM/PMなしで時(shí)間を抽出します。

時(shí)間部分は0から32までの任意の數(shù)になります。

  • [0-9]は、0から9までの任意の數(shù)と一致します
  • [0-1] \ dは00から19の任意の數(shù)と一致します
  • 2 [0-3]は20から23の任意の數(shù)と一致します

分と2番目の部分は、上記の式1と同じです。

ネガティブルックヘッド(?!:) 20:30:80などのスキップ文字列に追加されます。

PM/AMは大文字または小文字のいずれかである可能性があるため、関數(shù)をケースに敏感にします。

=RegExpExtract(A5, $A$2, 1, FALSE)

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

うまくいけば、上記の例が、Excelワークシートで正規(guī)表現(xiàn)を使用する方法に関するいくつかのアイデアを提供しました。殘念ながら、古典的な正規(guī)表現(xiàn)のすべての機(jī)能がVBAでサポートされているわけではありません。 VBA regexpでタスクを達(dá)成できない場(chǎng)合は、はるかに強(qiáng)力な.NET Regex関數(shù)について議論する次の部分を読むことをお?jiǎng)幛幛筏蓼埂?/p>

Excelでテキストを抽出するカスタム.NETベースの正規(guī)表現(xiàn)関數(shù)

Excelユーザーが作成できるVBA Regexp関數(shù)とは異なり、.NET Regexは開(kāi)発者の領(lǐng)域です。 Microsoft .NETフレームワークは、Perl 5と互換性のあるフル機(jī)能の正規(guī)表現(xiàn)の構(gòu)文をサポートしています。この記事は、そのような関數(shù)の書(shū)き方を教えていません(私はプログラマーではなく、それを行う方法についてわずかなアイデアを持っていません:)

標(biāo)準(zhǔn)の.NET Regexエンジンによって処理された4つの強(qiáng)力な機(jī)能は、開(kāi)発者によってすでに書(shū)かれており、Ultimate Suiteに含まれています。以下に、Excelでテキストを抽出するために特別に設(shè)計(jì)された関數(shù)の実用的な使用を示します。

ヒント。 .NET Regex Syntaxの詳細(xì)については、.NET正規(guī)表現(xiàn)言語(yǔ)を參照してください。

正規(guī)表現(xiàn)を使用してExcelで文字列を抽出する方法

Ultimate Suiteの最新バージョンがインストールされていると仮定すると、正規(guī)表現(xiàn)を使用してテキストを抽出すると、これらの2つのステップに要約されます。

  1. The AbleBitsデータの[The Text Group]で、 Regexツールをクリックします。

    Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

  2. Regexツールペインで、ソースデータを選択し、Regexパターンを入力し、抽出オプションを選択します。結(jié)果を値ではなくカスタム関數(shù)として取得するには、 [式]チェックボックスとして挿入を選択します。完了したら、 [抽出]ボタンをクリックします。

    Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

結(jié)果は、元のデータの右側(cè)の新しい列に表示されます。

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

ablebitregexextract構(gòu)文

カスタム関數(shù)には次の構(gòu)文があります。

ablebitregexextrage(參照、remular_expression)

どこ:

  • 參照(必須) - ソース文字列を含むセルへの參照。
  • remulal_expression (必須) - 一致する正規(guī)表現(xiàn)パターン。

重要なメモ!この機(jī)能は、Excelインストール用のUltimate Suiteを備えたマシンでのみ機(jī)能します。

使用法

あなたの學(xué)習(xí)曲線をよりスムーズにし、あなたの経験をより楽しくするために、これらのポイントに注意してください:

  1. 式を作成するには、 Regexツール、またはExcelの挿入関數(shù)ダイアログを使用するか、セルの完全な関數(shù)名を入力できます。フォーミュラが挿入されたら、ネイティブフォーミュラのように管理(編集、コピー、または移動(dòng))を管理できます。
  2. Regexツールペインに入力するパターンは、2 nd引數(shù)に移動(dòng)します。また、正規(guī)表現(xiàn)を別のセルに保持することも可能です。この場(chǎng)合、2 nd引數(shù)のセル?yún)⒄栅蚴褂盲工毪坤堡扦埂?/li>
  3. 関數(shù)は、最初に見(jiàn)つかった一致を抽出します。
  4. デフォルトでは、関數(shù)は癥例に敏感です。ケースと感受性の一致の場(chǎng)合、(?i)パターンを使用します。
  5. 一致が見(jiàn)つからない場(chǎng)合、#n/aエラーが返されます。

2つの文字間で文字列を抽出するための正規(guī)表現(xiàn)

2つの文字間でテキストを取得するには、キャプチャグループまたはルックアラウンドのいずれかを使用できます。

括弧間でテキストを抽出しようとしているとしましょう。キャプチャグループが最も簡(jiǎn)単な方法です。

パターン1 :\ [(。*?)\]

前向きな外観とLookaheadで、結(jié)果はまったく同じです。

パターン2 :(?

キャプチャグループ(。*?)が2つのブラケット間でテキストを怠zyな検索を?qū)g行することに注意してください - 最初から[最初]から。疑問(wèn)符のないキャプチャグループ(。*)は、貪欲な検索を行い、最初から最後まですべてをキャプチャします。

A2のパターンを使用すると、式は次のとおりです。

=AblebitsRegexExtract(A5, $A$2)

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

すべての試合を取得する方法

すでに述べたように、ablebitsregexextract関數(shù)は1つの一致のみを抽出できます。すべての試合を取得するには、前述のVBA関數(shù)を使用できます。ただし、1つの警告があります - VBA regexpはキャプチャグループをサポートしていないため、上記のパターンは「境界」文字も返します。この場(chǎng)合はブラケットです。

=TEXTJOIN(" ", TRUE, RegExpExtract(A5, $A$2))

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

ブラケットを取り除くには、この式を使用して空の文字列( "")で置き換えます。

=SUBSTITUTE(SUBSTITUTE(TEXTJOIN(", ", TRUE, RegExpExtract(A5, $A$2)), "]", ""),"[","")

読みやすくするために、デリミッターにコンマを使用しています。

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

2つの文字列の間にテキストを抽出するための正規(guī)表現(xiàn)

2つの文字の間でテキストを引き出すために私たちが取り組んだアプローチは、2つの文字列間でテキストを抽出するためにも機(jī)能します。

たとえば、「テスト1」と「テスト2」の間にすべてを取得するには、次の正規(guī)表現(xiàn)を使用します。

パターン:テスト1(。*?)テスト2

完全な式は次のとおりです。

=AblebitsRegexExtract(A5, "test 1(.*?)test 2")

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

REGEXは、URLからドメインを抽出します

正規(guī)表現(xiàn)があっても、URLからドメイン名を抽出することは、些細(xì)なタスクではありません。トリックを行う重要な要素は、非キャプチャグループです。究極の目標(biāo)に応じて、以下の正規(guī)表現(xiàn)のいずれかを選択します。

サブドメインを含む完全なドメイン名を取得するには

パターン:(?:https?\:|^| \ s)\/\/((?:[a-za-z \ d \ - \。] {2,255} \。)?[a-za-z \ d \ - ] {1,63} \。

サブドメインのない第2レベルのドメインを取得します

パターン:(?:https?\:|^| \ s)\/\/(?:[a-za-z \ d \ - \。] {2,255} \。)?([a-za-z \ - ] {1,63} \。

それでは、これらの正規(guī)表現(xiàn)がサンプルU(xiǎn)RLとして「https://www.mobile.ablebits.com」の例でどのように機(jī)能するかを見(jiàn)てみましょう。

  • (?:https?\:|^| \ s) - 非キャプチャグループ。それは一致しますが、以下のいずれかが先行するサブストリングをキャプチャしません:https、http、string(^)、Whitespace文字(\ s)の開(kāi)始。最後の2つの項(xiàng)目は、「//google.com」のようなプロトコル関連URLを処理するために含まれています。
  • \/ \/ - 2つのフォワードスラッシュ(それぞれには、前方スラッシュの特別な意味を逃れ、文字通り解釈するためのバックスラッシュが先行します)。
  • (?:[a-za-z \ d \ - \。] {2,255} \。)? - 非キャプチャグループは、第3レベル、第4レベルなどを特定します。ドメイン(サンプルU(xiǎn)RLのモバイル)。最初のパターンでは、より大きなキャプチャグループ內(nèi)に配置され、そのようなすべてのサブドメインを抽出に含めることができます。サブドメインは2?255文字の長(zhǎng)さである可能性があるため、{2,255}の量子です。
  • ([a-za-z \ d \ - ] {1,63} \。[a-za-z] {2,24}) - グループをキャプチャして、第2レベルのドメイン(有能)とトップレベルドメイン( com )を抽出します。セカンドレベルのドメインの最大長(zhǎng)は63文字です?,F(xiàn)在存在する最長(zhǎng)のトップレベルのドメインには、24文字が含まれています。

A2にどの正規(guī)表現(xiàn)が入力されるかによって、以下の式は異なる結(jié)果を生み出します。

=AblebitsRegexExtract(A5, $A$2)

すべてのサブドメインを使用してフルドメイン名を抽出するための正規(guī)表現(xiàn):

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

サブドメインなしで第2レベルのドメインを抽出するための正規(guī)表現(xiàn):

Excelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)

これは、正規(guī)表現(xiàn)を使用してExcelでテキストの部分を抽出する方法です。読んでくれてありがとう、來(lái)週私たちのブログでお會(huì)いできることを楽しみにしています!

利用可能なダウンロード

Excel Regex Extractの例(.xlsmファイル)究極のスイートトライアルバージョン(.exeファイル)

以上がExcelで文字列を抽出するための正規(guī)表現(xiàn)(1つまたはすべての一致)の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)