Regulérní výrazy regex nápady a šablony
AD MOB
regex for matching something if it is not preceded by something else
REGEX bude před použitím zřejmě nutno vložit mezi lomítka např. /regex/
Za ukončovací lomítka se dávají značky "flags" např. g - globální atd. viz v příspěvcích níže.
najde .round jen když není před ním Math
OK
a.round
c.round
NOT Math.round
regex if not followed by something
Vybere Math , za kterým NEnásleduje .round
OK
Math.pow, Math.cos
NOT
Math.round
Výše uvedené REGEX jsou vhodné například při hledání v souborech, kdy hledáme nějakou funkci stejného názvu, která není, nebo je přidružena např. k Math
REGEX bude před použitím zřejmě nutno vložit mezi lomítka např. /regex/
Za ukončovací lomítka se dávají značky "flags" např. g - globální atd. viz v příspěvcích níže.
(?<!Math)\.round
najde .round jen když není před ním Math
OK
a.round
c.round
NOT Math.round
regex if not followed by something
Math(?!\.round)
Vybere Math , za kterým NEnásleduje .round
OK
Math.pow, Math.cos
NOT
Math.round
Výše uvedené REGEX jsou vhodné například při hledání v souborech, kdy hledáme nějakou funkci stejného názvu, která není, nebo je přidružena např. k Math
77LW NO topic_id
AD
Další témata ....(Topics)
Sqlite3 příkazy - rady zkušenosti
Tyto příkazy, začínající tečkou .neco viz https://sqlite.org/cli.html dávám buď do konzolové aplikace (Start - cmd), nebo příkazového řádku, nebo nejlépe do sql souboru, který otvírám přes bat soubor - viz níže.V samotném bat souboru se musí zápis upravovat a je to matoucí.
Výpis databáze do sql souboru lze snadno provést přes soubor s koncovkou bat. Je dobré si nakopírovat do adresáře soubor sqlite3.exe , nebo dle verze, ve které se pracuje.
Do _databaseToSql.bat zadám název (popř.cestu, pokud je databáze v jiné složce) databáze a soubor, do kterého bude vypsán sql.
_databaseToSql.bat
sqlite3 my_database.db .dump > output.sql
pause
Pro vykonání stačí na uložený _databaseToSql.bat dvojkliknout a provede se kod.
Plnění databáze ze souboru.sql
Opětovně output.sql můžeme použít pro vytvoření nové databáze a naplnit jí obsahem output.sql_sqlToDatabase.bat
sqlite3 new_database.sqlite < output.sql
pause
Plnění databáze ze souboru TXT, kde jednotlivé sloupce jsou odděleny středníkem
_txtFileToDatabase.bat
sqlite3 dictionary_database.db < load.sql
Do load.sql zadáme vytvoření tabulky a soubor.txt, ze kterého budeme plnit sloupce tabulky a čím jsou výrazy v txt souboru odděleny - v našem případě ; STŘEDNÍKEM.load.sql
CREATE TABLE [es_cz] (
[spanish] VARCHAR(255) NULL,
[czech] VARCHAR(255) NULL
);
.separator ";"
.import spanish-czech.txt es_cz
spanish-czech.txt pak bude obsahovat řádky oddělené ; středníkem.
spanish word;czech word
spanish word;czech word
spanish word;czech word
Výpis databáze do CSV souboru
Pokud chci zpět soubor CSV načíst do databáze, tak může nastat problém s oddělovačem sloupců - např. tam bude více ; středníků, či jiných oddělovačů na řádku, než kolik je sloupců a bude malér.Následující kód otevře myDatabase.db , vybere obsah tabulky myTable a vypíše jí do souboru test.csv
_databaseToCsvFile.bat
sqlite3.exe -header -csv myDatabase.db "select * from myTable;" > test.csv
Date: 19.04.2020 - 22:31Toogle DIV javascript example code:
Jak skrýt, nebo zobrazit kontejner DIV:Nezapomeňte přiřadit DIVu ID, aby k němu bylo možno přistupovat pomocí getElementById a vše fungovalo i v jiných prohlížečích (Opera, Firefox, Google Chrome) a ne jen v Internet Exploreru.
<div id="idSomeDiv"> text div </div>
<input type="button" size="200" value="Skryj-zobraz"
onclick="var dH = document.getElementById('idSomeDiv');
if(dH.style.visibility == 'hidden') {
dH.style.visibility = 'visible';
} else {
dH.style.visibility = 'hidden';
}">
// multiline string old school tip trick
// create elemnt div style none or hidden with text
var sMulitilineString = document.getElementById('idHiddenDiv').innerHTML; // get text from hidden div
// ES6 with quotes
const htmlString = 'Say hello to
multi-line
strings!';
(typeof "813") // string
(typeof 813) // number
parseInt("10.33") // returns 10 string to integer
parseInt('2def8'); // 2
parseInt('a2def8'); // NaN
parseFloat("10.33") // returns 10.33 string to float
var test_1 = 'string';
var test_2 = ' example';
var suma = test_1 + test_2;
var length = suma.length; // 14
var le = test_1.length; // 6
charAt(index)
/* Returns the character at the specified index */
var str = new String('Sample');
str.charAt(3)); // p
// startsWith
var str = "HELLO WORLD";
var res = str.charAt(0); // H
// endsWith
var res = str.charAt(str.length - 1); // D
charCodeAt(index)
/* Returns an integer representing the Unicode encoding
of the character at the specified location */
var str = new String('Sample');
str.charCodeAt(3)); // 112
fromCharCode([code1[, code2[, ...[, codeN]]]])
/* Returns a string from a number of Unicode character values */
var e = window.event;
var str = String.fromCharCode(e.keyCode); // keydown etc.
concat([item1[, item2[, . . . [, itemN]]]])
/* Returns a new array consisting of a combination of two or more arrays */
var arr1 = new Array("Hello, ", "Dolly uranove");
var arr2 = new Array("World!", "dort");
var myConcatArray = arr1.concat(arr2);
alert(myConcatArray[3]); // dort
concat([string2[, string3[, . . . [, stringN]]]])
/* Returns a string value containing the concatenation
of two or more supplied strings */
var string1 = new String("Hello, ");
var string2 = new String("World!");
var myConcatString = string1.concat(string2); // Hello, World!
indexOf(subString[, startIndex])
/* Returns the character position where the first occurrence
of a substring occurs within a String object */
lastIndexOf(substring[, startindex])
/* Returns the last occurrence of a substring within a String object */
localeCompare(stringExp)
/* Returns a value indicating whether two strings
are equivalent in the current locale */
var str1 = "1";
var str2 = "2";
var n = str1.localeCompare(str2); // -1
var str1 = "2";
var str2 = "2";
var n = str1.localeCompare(str2); // 0
var str1 = "a";
var str2 = "b";
var n = str1.localeCompare(str2); // -1
var str1 = "b";
var str2 = "a";
var n = str1.localeCompare(str2); // 1
match(rgExp)
/* Executes a search on a string using a regular expression
pattern, and returns an array containing the results of that search */
var rgExp = /some text/g;
replace(rgExp, replaceText)
/* Returns a copy of a string with text replaced
using a regular expression or search string */
search(rgExp)
/* Returns the position of the first substring
match in a regular expression search */
n // A newline character
. // Any character except a newline
r // A carriage return character
t // A tab character
b // A word boundary (the start or end of a word)
B // Anything but a word boundary
d // Any digit (same as [0-9])
D // Anything but a digit (same as [^0-9])
s // Single whitespace (space, tab, newline, etc.)
S // Single nonwhitespace
w // A "word character” (same as [A-Za-z0-9_])
W // A "nonword character” (same as [^A-Za-z0-9_])
slice(start, [end])
/* Returns a section of an array or string */
var myString = new String("This is a test");
var mySlice = myString.slice(2,6); // is i // pos: 2 to 5 // 0==T, 1==h, 2==i, 3==s, 4==" ", 5==i
mySlice = myString.slice(-3); // est // end of string
mySlice = myString.slice(0); // This is a test
split([separator[, limit]])
/* Returns the array of strings that results
when a string is separated into substrings */
var str = "one two three";
var words = str.split(" ");
var len = words.length; // 3
substring(start, end)
/* Returns the substring at the specified location
within a String object */
var inpTxt = "Hello there";
alert(inpTxt.substring(6, 10)); // ther
substr(start [, length ])
// Returns a substring beginning at a specified
// location and having a specified length
var s = "The love in Spain.";
ss = s.substr(12, 5); // Spain
tolocaleLowerCase()
/* Returns a string where all alphabetic characters
have been converted to lowercase, taking into account
the host environment's current locale */
toUpperCase()
/* Returns a string where all alphabetic characters
have been converted to uppercase */
var myString = "My text";
myString.anchor //places an HTML anchor with a NAME attribute around specified text in the object
myString.big
myString.blink
myString.bold
myString.concat
myString.fixed
myString.fontcolor
myString.fontsize
myString.charAt
myString.charCodeAt
myString.indexOf
myString.italics
myString.lastindexOf
myString.length
myString.link
myString.match
myString.replace
myString.search
myString.slice
myString.small
myString.split
myString.strike
myString.sub //places HTML SUB tags around text in a String object
myString.substr
myString.substring
myString.sup
myString.toLowerCase
myString.toString
myString.toUpperCase
myString.valueOf
var str = "58";
var res = str.valueOf();
var type = (typeof res); // string
var str = 58;
var res = str.valueOf();
var type = (typeof res); // number
toString([radix])
/* prevede objekt na string */
toLocaleString()
var myDate = new Date();
document.write( myDate.toLocaleString());
// 24. února 2009 10:50:02
valueOf()
var number = new Number();
number = Number(100);
if (!isNaN(number))
document.write(number.valueOf()); // 100
hasOwnProperty(proName)
var theObj = { prom : 'bla' };
if ( theObj.hasOwnProperty )
{
document.write( "Has 'prom': " + theObj.hasOwnProperty( 'prom' ) + 'n' ); // true
document.write( "Has 'prom2': " + theObj.hasOwnProperty( 'prom2' ) + 'n' ); // false
}
isPrototypeOf(object2)
function fc(){
var reg = new RegExp();
return (RegExp.prototype.isPrototypeOf(reg)); // return true.
}
propertyIsEnumerable(proName)
var a = new Array("apple", "banana", "cactus");
document.write(a.propertyIsEnumerable(2)); // true
Kontrola zda database existuje, zmena opravneni, vytvoreni nove, nebo jeji otevreni kdyz existuj
$path_to_database = "CESTA_K_SOUBOURU/database.sqlite";
// zmena opravneni / chmod permission
if(file_exists($path_to_database))
chmod($path_to_database,01777);
// otevreni , vytvoreni databaze
$db = new SQLiteDatabase($path_to_database);
vlozeni tabulky s nazvem test, mozno bezpecne vkladat text v UNICODE
$db->query("
CREATE TABLE test
(url VARCHAR(55),
title VARCHAR(55),
keywords VARCHAR(500),
content_of_page VARCHAR(2500),
date DATE(50),
revision DATE(50),
visit INTEGER(8),
PRIMARY KEY (url),
UNIQUE (url))");
// vlozeni dat do tabulky test
$query = $db->query("INSERT INTO test (url,title,keywords,date,c,visit) VALUES (""
.$url."",""
.$title."",""
.$"keywords."",""
.$datum."",""
.$text_of_page."",""
."1"."")", $error);
// update tabulky / radku, prepis jiz existujicich dat
$query = $db->query("UPDATE test SET $query = $dbb->query("UPDATE test SET obsah="".$text_novy
."", title="".$title_new
."", keywords="".$keywords_new
."", revision="".date("j.n.Y - H:i")
."" WHERE url="".$url.""", $error);
}
if (!$query) {
exit("Error in query: "$error"");
} else {
echo "Number of rows modified: ", $dbb->changes();
}
// vyber vsech dat z tabulky test
$resss = $db->unbufferedQuery("SELECT * FROM test");
// prochazeni vysledku vyberu z tabulky
foreach ($resss as $row) { // iterate through result object
print $row["url"];
print $row["title"];
// atd. .... etc. ....
} // end foreach
// presne hledani v tabulce nebo substring / pokud hledame jen substring tak dame % pred pokude ma byt cokoliv vpredu, nebo za pokud vzadu
// pokud jsou procenta vpredu i vzadu, tak najde napriklad predblablavzadu
$resss = $db->unbufferedQuery("SELECT * FROM test WHERE title LIKE %blabla%");
// ziskat setrideny vyber a max pocet vybranych poloze / na konec dotazu pridame:
ORDER BY title DESC LIMIT 50
// setridi podle tituku a vybere 50 radku
// smazani urciteho radku dle obsahu nektereho ze sloupcu
$ur = "www.domena.com/blahblah.php"
$query = $dbb->query("delete from test where url like "$ur"");
Editace: 1554584730
Počet článků v kategorii: 77
Url:regulerni-vyrazy-regex-napady-a-sablony-id-2312
AD