Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярные выражения java / 25 сообщений из 48, страница 1 из 2
11.12.2013, 15:46:19
    #38497195
Fyn2013
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения java
Подскажите как составить регулярное выражение, чтобы находило слово, начинающееся с первой буквы..Например, в тексте есть слово "работа". Надо чтобы при вводе в поиск например "або", он не находил слово "работа".
...
Рейтинг: 0 / 0
11.12.2013, 15:49:45
    #38497201
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения java
RTFM
http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html Boundary matchers
...
\b A word boundary
...
...
Рейтинг: 0 / 0
11.12.2013, 17:35:15
    #38497458
Fyn2013
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения java
Blazkowicz,

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

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


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

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

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


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

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

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

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

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


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

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

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


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

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

я всё постепенно я хочу искать...и в этом тоже буду разбираться...но вы по ходу не совсем поняли даже мой конкретный вопрос изначально, но в целом от всех и от вас тоже было много советов, будем принимать к сведению, так что за это говорю спасибо всем!
...
Рейтинг: 0 / 0
12.12.2013, 13:03:21
    #38498365
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения java
Fyn2013,Но вы по ходу не совсем поняли даже мой конкретный вопрос изначальноНужно быть упрямым и объяснять до тех пор, пока мы не поймем
...
Рейтинг: 0 / 0
12.12.2013, 14:49:14
    #38498621
Fyn2013
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения java
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
12.12.2013, 15:13:11
    #38498674
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения java
Fyn2013, Надо чтобы при вводе в поиск например "або" или "раб", он не находил слово "работа", а только если полностью ввести "работа". Помогите пожалуйста конкретно с этим!
Перестаньте издеваться, пожалуйста. В строке поиска у вас "друг", прилепили к нему \b с обеих сторон, и ищите в каком хотите тексте.Удивительное рядом:
"\\bпривет\\b"
"\\bдруг\\b"
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярные выражения java / 25 сообщений из 48, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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