我有一個正則表達式問題,它讓我感到困惑,並且不知道如何解決它。多個正則表達式子模式的可選匹配
我有一個文本輸入字段,我喜歡從中提取某些值。 我想提取標題,描述,價格和特價。對於輸入
例子:
- 一切什麼是純文本而言的稱號。
- 散列內的所有內容(#description goes here#)被視爲描述。
- 23.49美元被視爲價格,19.99美元將與特價相匹配。
的CoffeeScript的模式我用:
pattern = ///
([^$]+)
(#(.+?)#+)
([\$]\d+\. \d+)
([\%\$]\d+\. \d+)
///
params = [title,description,oldPrice,newPrice]=input_txt.match(pattern)[1..4]
它不工作。它應該工作,如果我輸入給定的序列中的所有值,我也必須提供一個問題的子字符串。
我想吃點什麼是提取sequments的能力,如果提供(因此可選)和無序列的事...... 我怎麼能提取字符串的可選序列... 編輯/ // 我提供一些實例
exmp1:
Kindle #Amazon's ebook reader# $79.00
這應該被提取爲
title:Kindle
description: Amazon's ebook reader
oldPrice:$79.00
exmp2:
$100.00 Just dance 3 #for XBox#
這應該被提取到
:Nike Sneaker's $109.00 %$89.00
作爲
title:Nikes Sneaker's
oldPrice:$109.00
newPrice:$89.00
exmp3這應該被提取
title: Just dance 3 description: for XBox oldPrice:$100.00
任何幫助將是巨大的......
請提供您想要解析的字符串的幾個示例。如果你想以任何順序匹配事物,你將不得不使用多個不同的正則表達式。 – jfriend00
我提供了一些示例字符串... –