2016-08-23 10 views
0

これは以前に尋ねられたことですが、.net構文を使用したいので依頼する価値があると思います。また、私はサンプル/パーマリンクを通るのが好きです。Regexで親サイトのURLを取得

Office 365 Nintexでは、ドキュメントへのリンクを作成する必要があります。これは利用できないため、構築する必要があります。 {Workflowのコンテキスト:現在のサイトのURL}、利回り

https://domain.sharepoint.com/subsite

は、私は単にできるだけhttps://domain.sharepoint.comを抽出したいです。私はこの表現を試みたが、あまりにも粒状

(?<!www\.)(?<=\.)[^\/\.]{5,}{1,2}\/ 
+0

'。*(?= \ /)'を試してください。それはあなたのために行うべきです。最後の '/'まですべてを取得します。 – ClasG

+0

「できるだけ簡単に」定義できますか? –

+0

あなたの迅速な対応のために皆様に感謝します、私はすぐにテストして報告します。はい、簡単です。つまり、文字列操作を使用したいだけです。ReplaceまたはCheck MatchまたはSplit、または必要な文字列を抽出するだけです。それ以外の場合は、私のベースURLを抽出するために中間コレクションを解析する必要があります。 – westerdaled

答えて

1

は、それが最後/ (?=\/)にすべてを取得します

.*(?=\/) 

を試してみて、ゼロ幅の正次/をマッチング先読み、と感謝です貪欲に.*最後まですべてが一致します。

See it here at regex101

では、簡単な考える内容に応じて、あなたも

(.*)\/ 

でそれを行うことができ、キャプチャグループ1

編集から結果を得る:

コメントの問題を示唆します結果は文字列ではなくコレクションとして返されます。代わりに交換してください。それは文字列を返すはずです。

しかしこれは異なる戦略が必要です。

/[^/]*$ 

/されていない)、それの後に最後の/と何かを一致させる必要があります:削除する必要があります正規表現マッチ何でも持っています。その文字列を空の文字列に置き換えると、期待どおりの出力が得られるはずです。

+0

私は '。*(?= \ /)'はOPが必要とするもので、* Extract *オプションで使用されている可能性が高いと思います。あるいは。。*(?= /) '。これは.NETの正規表現なので。 –

+0

@ClasG ... .NETシンタックスでは軽快です。私のNintex regex espressionでExtractメソッドを使う出力ログSourceURLは次のとおりです。https://domain.sharepoint.com/subsite 23/08/2016 12:09コメント 親ドメインの抽出:["https:\/\/domain.sharepoint.com"、 " "]。私は出力コレクションvarを扱うことができます。なぜこれを避けようとしたのですか? – westerdaled

+0

申し訳ありませんが、あなたが何を意味するのか分かりません。あなたはコレクションとして結果を得るという問題です。なぜNintexがそれをやっているのか、私はあなたがそれを代わりに置き換えて回ることができると思います。最後の '/'(を含む)を何も置き換えないでください。正規表現: '/ [^ /] *'。私が正しくドキュメントを読むと、replaceは文字列を返すように見えます。 – ClasG

関連する問題