powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / regexp'ы
13 сообщений из 13, страница 1 из 1
regexp'ы
    #34934834
aleksandy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Функция не заменяет знак "?", а должна. :( В чем я не прав при составлении RegExp'а?
Код: plaintext
1.
2.
3.
4.
5.
function createQuery(p_year) {
  var p_ob_ids = 'select distinct ob_id from quota where (ob_id <> 0) and (god = ? )';
  var param = /\b\?\b/ig;
  p_ob_ids.replace(param, p_year);
}
...
Рейтинг: 0 / 0
regexp'ы
    #34934974
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была бы "должна" - заменила бы.
Чему равна переменная p_year?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
regexp'ы
    #34935035
aleksandy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaБыла бы "должна" - заменила бы.
Чему равна переменная p_year?

p_year - строковое представление года
...
Рейтинг: 0 / 0
regexp'ы
    #34935050
aleksandy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaБыла бы "должна" - заменила бы.
Чему равна переменная p_year?

например, '2007'
...
Рейтинг: 0 / 0
regexp'ы
    #34935053
I_Work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите, пожалуйста, а зачем использовать регулярные выражения?
На мой взгляд, в данном случае это просто неразумно - обработка выражения займет куда больше времени, чем простое присваивание:
Код: plaintext
1.
2.
function createQuery(p_year) {
  var p_ob_ids = 'select distinct ob_id from quota where (ob_id <> 0) and (god = ' + p_year + ')';
}
И еще - зачем использовать здесь функцию? Упрощения кода вовсе не происходит, а вот лишний вызов расходует ресурсы.
...
Рейтинг: 0 / 0
regexp'ы
    #34935108
aleksandy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
I_WorkСкажите, пожалуйста, а зачем использовать регулярные выражения?
На мой взгляд, в данном случае это просто неразумно - обработка выражения займет куда больше времени, чем простое присваивание:
Код: plaintext
1.
2.
function createQuery(p_year) {
  var p_ob_ids = 'select distinct ob_id from quota where (ob_id <> 0) and (god = ' + p_year + ')';
}
И еще - зачем использовать здесь функцию? Упрощения кода вовсе не происходит, а вот лишний вызов расходует ресурсы.

Ну. во-первых, это, так сказать, тест. На самом деле p_ob_ids потом будет присваиваться значение аргумента функции.
Во-вторых, перед "{" и после "}" предполагаетс еще некоторое количество операторов.
...
Рейтинг: 0 / 0
regexp'ы
    #34935289
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
\b
Matches the empty string, but only at the beginning or end of a word. A word is defined as a sequence of alphanumeric or underscore characters , so the end of a word is indicated by whitespace or a non-alphanumeric, non-underscore character.
...
Рейтинг: 0 / 0
regexp'ы
    #34935505
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<html>
<head>
<script type="text/javascript">
<!--
function check() {
   var str='select distinct ob_id from quota where (ob_id <> 0) and (god = ? )'
   str=str.replace('?','2007')
   alert(str)
}
-->
</script>
</head>
<body>

<input type="button" value='test' onclick="check()">

</body></html>
Но я соглашусь с I_Work . Т.к. удобнее строчку формировать чем как-то "транслировать"...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
regexp'ы
    #34940656
aleksandy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa, спасибо большое!!!!!!!!

чтобы заработало надо было просто сделать так:
Код: plaintext
p_ob_ids=p_ob_ids.replace(param, p_year);

хотя, по-моему функция должна изменять вызывающий объект, а не возвращать измененный
...
Рейтинг: 0 / 0
regexp'ы
    #34940682
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleksandyхотя, по-моему функция должна изменять вызывающий объект, а не возвращать измененный
Все с точностью до "наоборот"
Цель любой (!) функции вернуть некое значение. Но есть редкие исключения когда функция может что-то поменять...
...
Рейтинг: 0 / 0
regexp'ы
    #34941816
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут можно поспорить ...
Есть понятие обычных и перегруженных методов. Тут как раз вариант с перегруженным методом.
...
Рейтинг: 0 / 0
regexp'ы
    #34943540
I_Work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция есть функция. Она принимает какие-то аргументы и возвращает какое-то значение. Она не меняет значения аргументов .
Некоторые могу возразить - мол, например, при передаче массива и т.п. функция может изменить значения этого массива. Тут я вот, что скажу: функции не передается сам массив, а передается ссылка на него, т.е. адрес первого элемента. И этот адрес функция не трогает.

Есть также так называемые методы - функции, относящиеся к конкретный объектам (this.focus(), например). Когда мы вызываем метод, то по сути, этой функции передается адрес объекта. Соответственно, функция, зная адрес и структуру данных, может изменять объект по своему усмотрению.

Т.е. необходимо различать две возможности передачи параметров:
1) по значению
2) по ссылке

В первом случае происходит копирование значения, во втором - передается адрес самого объекта.
...
Рейтинг: 0 / 0
regexp'ы
    #34943695
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас в Cache функции могут и менять... Но располагаться тогда они должны слева от знака равенства...
Код: plaintext
1.
2.
3.
4.
5.
>s val= 12345 

>s $e(val, 3 )='a'

>w val
12a45
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / regexp'ы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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