我有一个乳胶表,我使用的是崇高的文字。问题很简单,我有数字说 输入:
3.3 & 42.32 & 123
除了$ sign wrap之外,还有一种方法可以使用正则表达式替换具有相同数字的数字 输出:
$3.3$ & $42.32$ & $123$
答案 0 :(得分:0)
您可以使用re.sub()并捕获:
import java.util.ArrayList;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class Q44985587_links {
static int count =0;
public static void main (String args[]) throws InterruptedException
{
System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.msn.com");
driver.manage().window().maximize();
List<WebElement> all_links = driver.findElements(By.tagName("a"));
System.out.println(all_links.size());
List<String> links = new ArrayList<String>();
for(WebElement link:all_links)
{
String link_href = link.getAttribute("href");
links.add(link_href);
}
System.out.println(links);
}
}
在上面的代码中,第一个arg:import re
s='3.3 & 42.32 & 123 '
print(re.sub('(?P<num>\d+\.?\d*)',r'$\g<num>$',s))
抓取了数字(?P<num>\d+\.?\d*)
,并将其命名为num。\d+\.?\d*
第二个arg:,(?P<num>...)
将num替换为$ num $。
因此,它会按照我们的预期打印结果:r'$\g<num>$'
答案 1 :(得分:0)
我找到了答案。但是,老实说,我建议每个不懂正则表达式的人观看前四个系列
https://www.youtube.com/watch?v=c9HbsUSWilw
我的问题的答案是我在Sublime text 3编辑器中使用正则表达式。因此,答案是放入find(ctr + F)
Find: (\d+\.\d*)
Replace with: \$$1\$ (after pressing on the regler expression key in sublime text 3)