Filename Selectie

In versie 7.x, verstrekken wij twee afzonderlijke systemen van de douanevervanging.  Het combineren van deze twee systemen verstrekt meer flexibiliteit de vervangingssystemen dan of de van Dos of van Unix.  
Systeem 1 - de vervanging van de Douane - dit is beschikbaar sinds Versie 5.x.
Systeem 2 - Regelmatige Uitdrukkingen (Regex) - dit in Versie 7.x. Regex nieuw is is een zeer krachtige eigenschap.  Onze website zal artikelen en leerprogramma's op hoe te Regex hebben.  Er zijn veel online leerprogramma's Regex. Om Regex te gebruiken, uw zou filename met „REGEXF=“ of „REGEXM=“ moeten beginnen.

U kunt of Systeem 1 OF Systeem 2 voor filename gebruiken.  Gelieve te merken op dat System1 en Systeem 2 zeer weinig in gemeenschappelijk hebben.  *! en ^ die in Systeem 1 wordt gebruikt heeft volledig verschillende betekenissen in Systeem 2 (Regex).

Systeem 1 - de vervanging van de Douane
1) de Veelvoudige reeksen filenames kunnen worden geselecteerd gebruikend ^.
2) Elke filename kan 1 of meer koordtekenen bevatten, worden gescheiden die door *.
3) elk * betekent ook één karakter (of meer).
4) Filenames die alle individuele tekenen ingegaan, in de correcte opeenvolging bevatten, worden geselecteerd.
5) de index van een individueel teken in geselecteerd filename kan zijn niet minder dan de index van dat symbolisch in ingegaan filename.
6) de lengte van geselecteerd filename zou de lengte van ingegaan filename evenaren of altijd moeten overschrijden.
7) als * (of veelvoud *) aan het eind is, wordt het genegeerd.  Nochtans, zal de lengte van geselecteerd filename, zal de lengte van ingegaan filename evenaren of overschrijden.
8) voor nauwkeurig filename onderzoek, gebruik # bij begin van filename.  Dit verzekert slechts één dossier met de nauwkeurige naam, zal worden geselecteerd.
9) om filename (of filenames) uit te sluiten, gebruik! bij het begin van filename.  Uitsluitingsfilename zou door minstens één ander teken moeten worden gevolgd dat door ^ wordt gescheiden.  Uitsluitingsfilename (filenames) zou ook vóór om het even welke normale filename moeten worden vermeld. Voorbeelden: !.zip^ * of!.zip^.txt of!.txt!.zip, .htm, .gif
10) om een geval ongevoelig teken, te specificeren gebruik (?I) bij het begin van filename. Voorbeeld:  (?I) test.txt

Overweeg een folder met de volgende dossiers:
troep, test, temperaturen, TEMPERATUREN, temp1, temp.txt, temp.htm, Test, Temp.txt, teeempju.txt, activityLog.txt, debugLog.txt, test.zip, test.gif
 

Ingegaan Filename

Geselecteerde dossiers

 

Alle geselecteerde dossiers

*

Alle geselecteerde dossiers

te

test, temperaturen, temp1, temp.txt, temp.htm, teeempju.txt

ju

troep, teeempju.txt

T

Test, Temp.txt

.txt

temp.txt, Temp.txt, teeempju.txt, activityLog.txt, debugLog.txt

te * htm

temp.htm

te * emp

teeemp.txt

te * htm^debug

temp.htm, debugLog.txt

te * htm^te * emp^debug

temp.htm, teeemp.txt, debugLog.txt

temperaturen * .txt

Geen geselecteerde dossiers (regel 5)

***********

teeempju.txt, activityLog.txt, debugLog.txt (regel 6)

est **

Geen geselecteerde dossiers (regel 6)

est *

test, Test (regel 6 en 7)

# temperaturen

temperaturen (regel 8)

!.zip^ *

Alle dossiers behalve test.zip (regel 9)

!.txt^temp

temperaturen, temp1, temp.htm (regel 9)

(?I) temperaturen temperaturen, temp1, temp.htm, TEMPERATUREN, Temp.txt (regel 10)

 

Systeem 2 - Regelmatige Uitdrukkingen (Regex)
Regex is een zeer groot onderwerp.  Het bevat veel syntaxis die allen niet kunnen hier worden vermeld.  Gelieve te zoeken Internet naar leerprogramma's op Regex.  

De methode REGEXF tast filename af om volgende subsequence te vinden die het patroon ingegaan op filename gebied aanpast.
De methode REGEXM probeert om volledige filename tegen het patroon aan te passen ingegaan op het filename gebied.

Wij adviseren dat u de methode REGEXF eerst gebruikt.

Java Regex heeft volgende bepaalde metacharacters ([{\ ^$|)?* +. Dit zijn speciale karakters die de manier kunnen beïnvloeden een patroon wordt aangepast.  Zie de voorbeelden hieronder voor het gebruik van deze metacharacters.

Overweeg folders met de volgende reeksen dossiers:
bat.txt, cat.txt, rat.txt, hat.txt, mat.txt
1.txt, 2.txt, 3.txt, 4.txt, 5.txt, 6.txt, 7.txt, 8.txt, 9.txt
a. txt, b. txt… aan z. txt & A. txt, B. txt…. aan Z. txt
aa.txt, aaa.txt, aaaa.txt
123, 123123, 123123123

Ingegaan Filename

Geselecteerde dossiers

REGEXF=.

Alle geselecteerde dossiers.
Metacharacter „.“ betekent „om het even welk karakter“

REGEXF=txt

alle .txt dossiers worden geselecteerd

REGEXF= [rcb] bij

bat.txt, cat.txt, rat.txt worden geselecteerd
de karakters binnen [] metacharacters vormen een reeks

REGEXF= [^bcr] bij

hat.txt, mat.txt worden geselecteerd      
^ binnen [] is de negatie metacharacter.  Vandaar, worden bat.txt, cat.txt, rat.txt verworpen

REGEXF= [0-4] .txt

1.txt, 2.txt, 6.txt, 7.txt, 8.txt worden geselecteerd.
- is de waaier metacharacter.

REGEXF= [ben [A-M]] .txt

a. txt aan m. txt, wordt A. txt aan M. txt geselecteerd.
[ben [A-M]] is UNIE van [a-m] en [A-M]

REGEXF= [a-m&& [DZ]] .txt

d. txt aan m. txt worden geselecteerd.
[a-m&& [DZ]] is KRUISING van [a-m] en [DZ]

REGEXF= [a-g&& [^cde]] .txt

a. txt, wordt b. txt, f. txt, g. txt geselecteerd
[ben [^cde]] is AFTREKKING van [a-m] en [cde]

REGEXF= (?I) a. txt

a. txt, wordt A. txt geselecteerd
(?I) laat case-insensitive aanpassing toe

REGEXF=a {3} .txt

aaa.txt, aaaaa.txt worden geselecteerd
a {3} zoekt 3 of meer a's in een rij 

REGEXF= [0-9] {1,} [^a-z]

123, 123123, 123123123 worden geselecteerd
[0-9] zoekt aantallen, {1,} betekent 1 of meer aantallen
[^a-z] verwerpt alle dossiers met alfabetten in hen. ex: al .txt

REGEXF= (123) {2}

123123, 123123123 worden geselecteerd
(xxx) impliceert een groep.  (123) zoekt 123 groeperen zich, {2} middelen 2 of meer groepen van 123

 

 

Vooraf bepaalde karakterkortere weg:
\ D past alle cijfers aan = [0-9]
\ D past niet-cijfers aan = [^0-9]
\ s past ruimten aan = [\ t \ n \ x0B \ F \ r]
\ S past niet-ruimten aan = [^ \ s]
\ w past woordkarakters aan = [a-zA-Z_0-9]
\ De karakters van het de gelijken niet-woord van w = [^ \ w]