2017-04-01 26 views
1

私は2テキストの間にある文字列にREGEXMATCHを取得するためにワークアウトにソリューションをしようとしています、私は(与えたから物事に一致する正規表現複数行AHK

RegExMatch(clipboard,"STUFF<p class=""figure"">(.*)</p></div><",match) 

の作業溶液を思い付い私2140)

<div><div>STUFF<p class="figure">2140</p></div></div> 

が、これはすべて、単一の行で、私はそのような

<tr> 
    <td>Qty</td> 
    <td>:</td> 
    <td>  
     310 
    </td> 
</tr> 
</table> 
として、私は複数行あるコードにこれを適用しないか見当がつかないされます

私は310を取得したいと思いますが、正規表現はどうすればよいですか?私はどのように、私は\ s \ sで試したが、無駄に理解できませんでした。私はそれが私に与えた

<td>Qty</td>\s*<td>(.*?)</td> 

で上に行くように私は、\ sの*機能のこつは、今、私はゆっくりと、それは省略されている場所を確認するためにそれを試してみました得るように見えるEDIT

を助けてください。私はそれが<td>渡すことができませんでした

しかし:</td>一部を、それは常に私の場合、私は疑問に思って、空白を返すべきである代わりに、(。?)(\ sの。?)?

私は

RegExMatch(clipboard,"<td>Qty</td>\s*<td>(.\s*?)</td>\s*</tr‌​>",match) 

を試みたが、無駄に

+0

使用 '\ sの*'文字の返信用 – TheChetan

答えて

2

基本的な考え方は、あなたがスペースが来るかもしれないと思う今まで\s*を追加することです。それはゼロまたはスペースのような文字と一致します。 (タブ、改行など)。例えば、
\s*<tr>\s*<td>Qty</td>\s*<td>:</td>\s*<td>(.*?)</td>/s*</tr>

+0

おかげのようなスペースのために、私は今、\ sの*機能のこつを得るように見えるが、私は、私のように、それは省略されている場所を確認するために、ゆっくりとそれを試してみました(。*?): が、私はそれが​​渡すことができませんでした:一部を、それは常に空白、私は疑問に思って戻ると私( ​​数量 \ sの*​​で上に行く をそれは私を与えました。*?)は(。\ s *?)にする必要がありますか? 私は( "(​​* \ sの数量​​。\ S *?) \よ*" クリップボード、試合を) REGEXMATCHを試してみました – Crays

+1

さて、あなたの '​​数量 \ sの*​​(。*?)' '​​:'が含まれていないので、それはなぜ一致しません。試してください: '​​数量 \ s *​​: \ s *​​(。*?) 'です。 '\ s *'は0個以上のマッチのインスタンスと一致するので、使用できます。 – TheChetan

+0

ありがとう、ついにそれは働くようになった:) – Crays