1
我想匹配文本中存在的單位爲nm或μm的所有值。下面是一個匹配20nm或20nm的如何根據條件拆分正則表達式模式
public Pattern Value = Pattern.compile("\\d*\\.?\\d*(\\s?[nNμµ][mM])");
如何可以編程它僅匹配的值的正則表達式模式,如果它是具有單位納米或微米
我想匹配文本中存在的單位爲nm或μm的所有值。下面是一個匹配20nm或20nm的如何根據條件拆分正則表達式模式
public Pattern Value = Pattern.compile("\\d*\\.?\\d*(\\s?[nNμµ][mM])");
如何可以編程它僅匹配的值的正則表達式模式,如果它是具有單位納米或微米
你可以使用一個捕獲組趕上值:
public Pattern Value = Pattern.compile("(\\d*\\.?\\d*)(?:\\s?[nNμµ][mM])");
這裏的值將包含在第1組中。
您還可以使用lookarounds:
public Pattern Value = Pattern.compile("\\d*\\.?\\d*(?=\\s?[nNμµ][mM])");
在這裏,您將只匹配值。
public Pattern Value = Pattern.compile("(?i)\\d+\\.?\\d*(?=\\s*[nµ]m)");
此外,還要強制數字的至少一個。
將'[nNμμ] [mM]'改爲'[nμ] [mM]'?或者我不明白你...... – AlexR 2013-04-11 15:22:13
我認爲他希望輸出是20,而不是20nm。 – 2013-04-11 15:23:48