Wyrażenie regularne i whitespace

0

Czy mógłby mi ktoś pomóc w takim problemie. Chciałbym zapisać coś takiego, że mam wyraz np. Health, ale przed nim mam niewiadomą liczbę białych znaków, jak zapisać coś takiego w javie?

Próbowałem coś w tym stylu: regexp:\s+Health , ale coś mi to poźniej nie działa, czy ktoś mógłby pomóc?

Dzieki wielkie!

0
  • dopasowuje 1 lub więcej znaków. Może chodziło ci o *, które dopasowuje także 0 znaków.
0

Chodzi mi o cos takiego, mam na stronie dropdowna z rozymi opcjami:
to jest jedna z nich:

<option value="104">         Health</option>

I teraz chce wywolac opcje po nazwie ale nie wiem ile bedzie tych bialych znaków przed nazwa wiec chciałbym uzyc tutaj wyrażenie regularne plus ta nazwa.

0

Może bez wyrażeń regularnych, nazwa.trim()?

0

Niestety musze uzyc wyrażenie regularne, czy ktoś pomoże?

0
@Test
	public void wsp(){
		String text = "  	spacjaspacjatab";
		String pattern = "\\s+[a-zA-Z]*";
		System.out.println(Pattern.matches(pattern, text)); //true
		System.out.println(Pattern.matches(pattern, " asdasdasda"));//true
		System.out.println(Pattern.matches(pattern, "   "));//true
		System.out.println(Pattern.matches(pattern, "dsaas"));//false
	}

A jak wygląda twój kod?

0

Dzieki Koziołek za pomoc, to co mi podałeś jest fajne.
Jednak ja próbuje przetestować automatycznie stronę www za pomocą jednego z narzędzi opensourcowych i na stronie mam właśnie dropdowna o takiej strukturze:

<select id="ctl00_ctl20_g_0f5374f1_ba3a_4e12_aea0_592bb2c8a80e_ctl00_comboSelectPage" style="width:250px;" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ctl20$g_0f5374f1_ba3a_4e12_aea0_592bb2c8a80e$ctl00$comboSelectPage\',\'\')', 0)" name="ctl00$ctl20$g_0f5374f1_ba3a_4e12_aea0_592bb2c8a80e$ctl00$comboSelectPage"> <option value="0">Please select</option> <option value="96">   Map selection</option> <option value="98">      Day to day living in...</option> <option value="103">         Overview</option>

i mam sobie metodę która wybiera mi opcje po nazwie np. chce wybrać Overview, ale w tym przypadku mam wrzucone te spacje i nie wiem ile ich może być dlatego chce podać zmienna którą będę wprowadzał i wtedy on będzie mi wybierał z tego dropdowna ta opcje i klikał w nią.

Metode mam taką:

public void selectItemFromDropdown(String idoption, String optiontext){

		// I Wariant rozwiazania
		WebElement select = driver.findElement(By.id(idoption));
		List<WebElement> allOptions = select.findElements(By.tagName("option"));
			for (WebElement option : allOptions) {
				System.out.println(String.format("Value is: %s", option.getText()));
				if(option.getText().equals(optiontext)){
					option.click();
        }
		}

i wywolanie
selectItemFromDropdown("ctl00_ctl20_g_0f5374f1_ba3a_4e12_aea0_592bb2c8a80e_ctl00_comboSelectPage", "\\s+Overview");

ale kicha nie działa to "\s+Overview" :(

0

A co to za narzędzie? W różnych różnie wspierane są regexpy.

0

Selenium

0

Spróbuj bez białych znaków. Selenium może je trimować.

0

niestety też już tak próbowałem...

0
if(option.getText().matches(optiontext)){
    option.click();
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1