powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярные выражения java
48 сообщений из 48, показаны все 2 страниц
Регулярные выражения java
    #38497195
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как составить регулярное выражение, чтобы находило слово, начинающееся с первой буквы..Например, в тексте есть слово "работа". Надо чтобы при вводе в поиск например "або", он не находил слово "работа".
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497201
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFM
http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html Boundary matchers
...
\b A word boundary
...
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497458
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

не смог разобраться, можно конкретнее плиз?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497470
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
"\baбо"
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497473
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например есть текст "привет, друг"..Если я в поиск введу "рив" или "руг", то он не должен найти слова из текста, который в некотором разделе или находится по какой-то ссылке...Только если полностью ввести "друг" или "привет"
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497485
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точнее так
Код: java
1.
"\\baбо"
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497505
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

а если у меня текст "привет, друг и т.д.."...И я в поиск введу "рив" или "руг", то он не должен найти слова из текста, который в некотором разделе или находится по какой-то ссылке...Только если полностью ввести "друг" или "привет"
Каким будет регулярное выражение?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497516
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удивительное рядом:
Код: java
1.
2.
"\\bпривет\\b"
"\\bдруг\\b"


Вам фразу word boundary помочь перевести?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497521
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

нет) я имею ввиду если большой текст есть, то как составить?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497531
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013нет) я имею ввиду если большой текст есть, то как составить?
Ну, будем надеятся что на форуме обнаружится кто-то понятливый кто из этого короткого предложения сможет понять ваши мысли.
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497556
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

ок, у меня текст:
Код: java
1.
String str= "много разных слов здесь в тексте и цифр........."


И если я в поиск введу например "ного" или "разн", то он не должен найти нужное правильное слово из текста. Только если полностью ввести например "много" или "цифр", тогда должен их найти в каком либо разделе сайта там...
Сейчас вроде постарался норм объяснить)
Как можно для этого сделать правильное регулярное выражение?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497567
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013, чего-то я не понимаю для чего здесь регулярные выражения, если вам точный поиск нужен.
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497574
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,

ок, а каким образом ,если знаете?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497599
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013, невнимательно прочитал. Выше же написан ответ, разве о не делает то что вам нужно? пример
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497668
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,

"\\bпривет\\b"
"\\bдруг\\b"

это?
а если у меня 150 слов в тексте, я же не буду каждое так
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497677
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013 а если у меня 150 слов в тексте, я же не буду каждое так
В каком тексте? Искомом или сканируемом? Вы же сами себя изначально поставили в рамки регулярных выражений.
Lucene чем-то не подходит для решения задачи?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497690
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013,это?
а если у меня 150 слов в тексте, я же не буду каждое такВы шаблоном задаете то что вы в тексте хотите найти, а не текст меняете. В строке поиска у вас "друг", прилепили к нему \b с обеих сторон, и ищите в каком хотите тексте.
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497702
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013, сделай чтобы люди вводили

Код: sql
1.
рпивет дург


и софт подставлял близкие слова из справочника.

Осилишь?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497708
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497847
Фотография dmitriyche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonFyn2013, сделай чтобы люди вводили

Код: sql
1.
рпивет дург


и софт подставлял близкие слова из справочника.

Осилишь?
К Levenshtein distance клоните?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38497848
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не клоню к Левинштейнам и прочим Дамерау.
Я говорю автору о том что на задачу нужно смотреть шире. Не с точки
зрения поиска подстроки. Это тривиально. И даже обсуждать скушно.
Нужно ставить сверх-задачу. Как google. Пускай ищет не только
слова "работа" но и "hf,jnf" (работа в английской раскладке). Вот так.
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498307
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

я всё постепенно я хочу искать...и в этом тоже буду разбираться...но вы по ходу не совсем поняли даже мой конкретный вопрос изначально, но в целом от всех и от вас тоже было много советов, будем принимать к сведению, так что за это говорю спасибо всем!
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498365
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013,Но вы по ходу не совсем поняли даже мой конкретный вопрос изначальноНужно быть упрямым и объяснять до тех пор, пока мы не поймем
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498621
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,

зря вы это сказали))
Вообщем у меня есть нормально рабочий класс, в который надо добавить небольшую логику - чтобы поиск находил полное введённое в него слово..Например, в разделах есть слово "работа". Надо чтобы при вводе в поиск например "або" или "раб", он не находил слово "работа", а только если полностью ввести "работа". Помогите пожалуйста конкретно с этим!

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
public class Search {
	
	private String word;
	private String str="";
		
	public String getWord() {
			return word;
		}

		public void setWord(String word) {
			this.word = word;
		}
		public String getStr() {
			return str;
		}

		public void setStr(String str) {
			this.str = str;
		}

	    private final Pattern TITLE = Pattern.compile("\\<title\\>(.*)\\<\\/title\\>");
	    
	    public String search(String url, String someword) {

	        try {
	            InputStreamReader in = new InputStreamReader(new URL(url).openStream(),"UTF-8");
	            StringBuilder input = new StringBuilder();
	            int ch;
	            while ((ch = in.read()) != -1) {
	                input.append((char) ch);
	            }
	            if (Pattern.compile(someword, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE).matcher(input).find()) {
	                Matcher title = TITLE.matcher(input);
	                if (title.find()) {
	                    return title.group(1);
	                }
	            }
	        } catch (IOException e) {
	            e.printStackTrace();
	        } catch (PatternSyntaxException e) {
	            e.printStackTrace();
	        }
	        return null;
	    }
	    public String toString(){
	    	String[] argi = {"http://localhost:8080/site/dipnagradi", "http://localhost:8080/site/contacts"};

	    	for (int i = 0; i < argi.length; i++) {

	            String result = search(argi[i], word);

	            if (result != null && word.length()>2) {

	str+= "Поисковая фраза " + "<b>"+ word + "</b>" + " найдена в разделе " + "<a href=\"" + argi[i] + "\">" + result + "</a>"+ "<p></p>";


	            }
               if(word.length()<3 || word.matches("^[A-za-z]+$")){
            	   
            	   str="Слово не найдено!";
	
}
	            if (word == null || word.isEmpty()) {

	            	str="Введите слово для поиска!";
	        		
	            }
	            
	    	}
		return null;

        }
	    }
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498674
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013, Надо чтобы при вводе в поиск например "або" или "раб", он не находил слово "работа", а только если полностью ввести "работа". Помогите пожалуйста конкретно с этим!
Перестаньте издеваться, пожалуйста. В строке поиска у вас "друг", прилепили к нему \b с обеих сторон, и ищите в каком хотите тексте.Удивительное рядом:
"\\bпривет\\b"
"\\bдруг\\b"
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498687
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,

ну а вы можете это в моём коде показать??
word.matches("\\b^[A-za-z]+$\\b") или как??

word - у меня переменная некоторого слова, которое в поиск ввожу
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498688
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013, кстати, вы творчеством Пикассо не увлекаетесь?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498691
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013,ну а вы можете это в моём коде показать??так вы свой и покажите, очень похоже что это чужой и вы не понимаете как он работает.
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498702
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,

ладно, пасиб
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498716
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013,я серьезно, расскажите откуда взяли и как вы думаете это работает или должно работать. Один раз помучаетесь, зато разберетесь.
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498725
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,

да я полностью понимаю этот код...взял его по кусочкам и слепил, кое что сам дописал...но вот эту логику не знаю как доработать - когда я ввожу в поиск например если "исти", то находит слово "Логистика", а я хочу так сделать чтобы только при вводе в поиск полного слова, он находил это слово в разделах..
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498734
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013,да я полностью понимаю этот код..Хорошо, опишите подробно что по-вашему делает этот код, и почему toString?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
 public String toString(){
	    	String[] argi = {"http://localhost:8080/site/dipnagradi", "http://localhost:8080/site/contacts"};

	    	for (int i = 0; i < argi.length; i++) {

	            String result = search(argi[i], word);

	            if (result != null && word.length()>2) {

	str+= "Поисковая фраза " + "<b>"+ word + "</b>" + " найдена в разделе " + "<a href=\"" + argi[i] + "\">" + result + "</a>"+ "<p></p>";


	            }
               if(word.length()<3 || word.matches("^[A-za-z]+$")){
            	   
            	   str="Слово не найдено!";
	
}
	            if (word == null || word.isEmpty()) {

	            	str="Введите слово для поиска!";
	        		
	            }
	            
	    	}
		return null;

        }
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498743
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,

у меня mvc вэб проект, метод toString() я вызываю в контролере, в файле jsp я перехватываю str, а word - слушатель для поиска. Поиск делаю по титлу из файлов jsp..в массиве кладу адреса ссылок..код работает, только прошу помочь добавить эту логику к нему

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
 <form:form class="navbar-form pull-right col-lg-4 col-4 col-sm-4" method="post" action="search" modelAttribute="contactForm" style="position:fixed;width:35%" >
               <div class="input-group">
                  <input type="search" class="form-control" name="word" placeholder="Search"/>
                  <span class="input-group-btn">
   <button type="submit" class="btn btn-default"><spring:message code="welcome.search"/></button>
                  </span>
                   
               </div>
</form:form>
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498770
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013, я не знаю как вам помочь. Вы в состоянии понять это? Для того чтобы во фразе "У меня есть воображаемый друг и воображаемая подруга" найти отдельное слово "друг", нужно с обеих сторон прилепить к нему //b. То есть искать не слово друг, а слово //b друг //bword.matches("\\b^[A-za-z]+$\\b") Это проверка слова, которое вы собираетесь искать, на соответствие какому-то шаблону. Если это нужно, то выполняться должно до поиска. К самому поиску отношения вообще не имеет. Поиск выполняется в методе search(argi[i], word).
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498790
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,

я понял, но как мне в коде это показать? вы так написали как будто пользователь сайта в поиск будет вводитьпря вот такую фразу
Код: java
1.
//bдруг//b
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498803
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,

я же не знаю что пользователь введёт в поиск - друг или враг или кот...эти вводимые в поиск слова в переменной word..как мне и где в коде String word ограничить этими матчами //b//b
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498817
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013, как мне и где в коде String word ограничить этими матчамиДа как угодно
Код: java
1.
String str = "мама"+"мыла"+"раму";
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498835
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,

а причём тут String str= "мама"+"мыла"+"раму" ? str у меня - это вывод фразы
str+= "Поисковая фраза " + "<b>"+ word + "</b>" + " найдена в разделе " + "<a href=\"" + argi[i] + "\">" + result + "</a>"+ "<p></p>";
давайте следовать моему коду..вы итак никак не поймёте что я хочу)
у меня конктретный вопрос - что написать в коде и где именно чтобы поиск понял что надо найти какое то слово только в том случае, если его ввели в поиск полностью...ищу я по разделам как видите в коде..в разделах много текста..можете вставить просто в мой код логику эту?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498848
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013,давайте следовать моему коду..вы итак никак не поймёте что я хочу)Давайте вы сначала поймете свой код. Поиск выполняется в методе search. Трудно туда передать word, у которого в начале и в конце /b ? Ассоциативное мышление не работает? мама+мыла+раму -> "/b"+word+"/b"?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498884
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,
javapeckerТрудно туда передать word, у которого в начале и в конце /b ?
ну трудно пока-что как видите..вот так ? String result = search(argi[i], "/b"+word+"/b");
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498901
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013,ну трудно пока-что как видите..вот так ? String result = search(argi[i], "/b"+word+"/b");Я пока писал все слэши перепутал, вместо "/b" пишите "\\b"
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498929
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,

вот блин..я тоже не заметил этого...))
всё теперь работает!! вопрос закрыт!!благодарю!!
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38498992
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013Подскажите как составить регулярное выражение, чтобы находило слово, начинающееся с первой буквы..Например, в тексте есть слово "работа". Надо чтобы при вводе в поиск например "або", он не находил слово "работа".

вот так человек получил одну задачу: найти все вхождения по слову в тексте, а на выходе оказалось две задачи - еще и регексп победить ;(
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38500609
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у вас проблема?

решили победить ее с помощью regex?

поздравляю теперь у вас две проблемы.
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38500797
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,

почему?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38500951
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013lleming,

почему?

❝ Некоторые люди, во время решения одной проблемы думают: «Я знаю, я буду использовать регулярные выражения». Теперь у них две проблемы… ❞— Jamie Zawinski

но это так к слову.


можно и с регулярными выражения вполне оперировать, только если выражения сложные то лучше тестировать тщательнее
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38500963
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,

тестировать - всмысле junit?
...
Рейтинг: 0 / 0
Регулярные выражения java
    #38504313
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,
llemingможно и с регулярными выражения вполне оперировать, только если выражения сложные то лучше тестировать тщательнее
junit или в каком смысле тестировать?
...
Рейтинг: 0 / 0
48 сообщений из 48, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярные выражения java
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]